【发布时间】:2019-07-04 16:14:58
【问题描述】:
那么在 BQ 标准 SQL 中,使用 ARRAY_AGG,是否总是需要指定 struct 字段?或者这可以是动态的结果(例如*)
例如,memberRoleId 在 Memberships 表中可以有多个成员资格(即 memberRoleId 重复),我想创建一个包含所有值的数组作为结构,而不必指定列表,因为它是一个又长又宽的表!
我试图通过公共 id 将所有行收集到一个数组中,但我想在不明确定义的情况下轻松包含结构中的所有字段 - 这可能吗?
从此...
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,x},{MemberRoleId,y,y,y,y,y,y,y}]
但不必为数组 agg....显式定义结构模式。
【问题讨论】:
标签: google-bigquery