我正在尝试创建一个具有不同结构的数组作为列的值,就像这样
从表中选择 array_agg(distinct struct(field_a, field_b)) as c ...
这可能吗?
#standardSQL
SELECT ARRAY_AGG(STRUCT(field_a, field_b)) c
FROM (
SELECT DISTINCT field_a, field_b
FROM `project.dataset.table`
)
我最近需要类似的东西 - 这就是我破解它的方法。
如果您可以将 STRUCT 转换为 JSON 字符串,那么此方法将适合您。
SELECT ARRAY_AGG(DISTINCT TO_JSON_STRING(STRUCT(field_a, field_b))) as c FROM table