【发布时间】:2021-08-25 16:25:32
【问题描述】:
{
"outer_1": "1",
"outer_2": 2,
"inner": [
{
"inner_1": 0,
"inner_2": null,
},
{
"inner_1": 3,
"inner_2": true,
},
]
}
在上面你可以大致看到我的数据是什么样子的。对于 BigQuery,inner 是重复记录。我想计算每一行的聚合(例如非空 inner_1 字段的总和)。
一个想法是使用unnest(inner),计算聚合,然后按所有其他列分组。然而,这似乎不是最佳方法。我已经有大约一百万行了。取消嵌套会创建更多的行,并且立即进行聚合以对所有内容进行分组听起来不正确。
我敢打赌,可能有一种更有效的方法来迭代嵌套记录并为它们计算聚合。
最后,我想要这样的东西:
{
"outer_1": "1",
"outer_2": 2,
"inner_1_sum: 3,
"inner_2_non_null_count": 1
}
【问题讨论】:
标签: sql google-bigquery