【发布时间】:2019-12-16 15:10:13
【问题描述】:
假设我有以下输入数据:
id | val1 | val2
1 | 1v1 | 1v2
1 | 1v3 | 2v4
2 | 2v1 | 2v2
我想在输出中实现什么:
id | json
1 | [{"val1":"1v1","val2":"1v2"}, {"val1":"1v3","val2":"1v4"}]
2 | [{"val1":"2v1","val2":"2v2"}]
所以所有结果都按 id 分组,在 JSON 数组中。每个 ID 多行会在 JSON 数组中生成多个结构。
作为第一步,我尝试使用 TO_JSON_STRING 函数将行分组为 JSON,并以如下代码结束:
WITH Input AS (
SELECT id, val1, val2
from My_Table
)
SELECT
t.id,
TO_JSON_STRING(t) AS json_row
FROM Input AS t
但它也会将id 放入目标 JSON 中,这是我想避免的。
对于如何从 BigQuery 获得理想结果的任何帮助或提示,我们将不胜感激。
【问题讨论】:
标签: json google-bigquery