包含不同结构的Array_agg

问题描述 投票:0回答:2

我正在尝试创建一个具有不同结构的数组作为列的值,就像这样

从表中选择 array_agg(distinct struct(field_a, field_b)) as c ...

这可能吗?

google-bigquery
2个回答
4
投票
#standardSQL
SELECT ARRAY_AGG(STRUCT(field_a, field_b)) c 
FROM (
  SELECT DISTINCT field_a, field_b
  FROM `project.dataset.table`
)

0
投票

我最近需要类似的东西 - 这就是我破解它的方法。

如果您可以将 STRUCT 转换为 JSON 字符串,那么此方法将适合您。

SELECT ARRAY_AGG(DISTINCT TO_JSON_STRING(STRUCT(field_a, field_b))) as c FROM table
© www.soinside.com 2019 - 2024. All rights reserved.