Google bigquery 数组聚合/集合-需要显式指定结构字段吗?
那么在BQ standardSQL中,使用ARRAY_AGG,您是否总是需要指定struct字段?或者这会是动态的结果(例如*) e、 g memberRoleId在memberships表中可以有多个成员身份(即memberRoleId重复),我想创建一个包含所有值的数组作为结构,而不必指定列表,因为它是一个长而宽的表 我试图通过公共id将所有行收集到一个数组中,但我想在sturct中轻松包含所有字段,而无需显式定义-这可能吗 从这个Google bigquery 数组聚合/集合-需要显式指定结构字段吗?,google-bigquery,Google Bigquery,那么在BQ standardSQL中,使用ARRAY_AGG,您是否总是需要指定struct字段?或者这会是动态的结果(例如*) e、 g memberRoleId在memberships表中可以有多个成员身份(即memberRoleId重复),我想创建一个包含所有值的数组作为结构,而不必指定列表,因为它是一个长而宽的表 我试图通过公共id将所有行收集到一个数组中,但我想在sturct中轻松包含所有字段,而无需显式定义-这可能吗 从这个 MemberRoleId, ARR
MemberRoleId,
ARRAY_AGG (
STRUCT(
MemberRoleId, MembershipId, MemberPartyId, MemberRoleId......
)
)
FROM
Memberships
GROUP BY
MemberRoleId
类似于下面的*只是说我希望与分组的MemberRoleId匹配的所有行和列都在结构中
MemberRoleId,
ARRAY_AGG (
STRUCT(
*
)
)
FROM
Memberships
GROUP BY
MemberRoleId
MemberRoleId,[{MemberRoleId,x,x,x,x,x,x},{MemberRoleId,y,y,y,y,y,y}]
但是不必为数组agg显式定义结构模式。…下面是针对BigQuery标准SQL的 你可以使用下面的方法来实现你的目标
SELECT
MemberRoleId,
ARRAY_AGG (t)
FROM
Memberships t
GROUP BY
MemberRoleId
很可能是最快的答案错过了明显的抱歉!