【发布时间】:2020-07-01 15:03:40
【问题描述】:
我的数据结构如下:
{
"results": {
"A": {"first": 1, "second": 2, "third": 3},
"B": {"first": 4, "second": 5, "third": 6},
"C": {"first": 7, "second": 8, "third": 9},
"D": {"first": 1, "second": 2, "third": 3},
... },
...
}
即嵌套记录,其中最低级别与上面级别中的所有记录具有相同的架构。架构将与此类似:
results RECORD NULLABLE
results.A RECORD NULLABLE
results.A.first INTEGER NULLABLE
results.A.second INTEGER NULLABLE
results.A.third INTEGER NULLABLE
results.B RECORD NULLABLE
results.B.first INTEGER NULLABLE
...
有没有办法在 BigQuery 中对最低级别的字段进行(例如聚合)查询,而不知道(直接)父级别的键?换句话说,我可以在first 上查询results 中的所有记录,而不必在我的查询中指定A、B、...?
例如,我想实现类似的目标
SELECT SUM(results.*.first) FROM table
为了得到1+4+7+1 = 13,
但不支持SELECT results.*.first。
(我尝试过使用 STRUCT,但还没有走多远。)
【问题讨论】:
-
表的架构还不清楚!它是带有json的字符串字段吗?还是重复记录?请提供架构。提供 WITH 语句以重现您的数据的最佳方式,以便我们可以有效地提供帮助
标签: google-bigquery