使用嵌套字段旋转的 bigquery
Posted
技术标签:
【中文标题】使用嵌套字段旋转的 bigquery【英文标题】:bigquery pivoting with nested field 【发布时间】:2019-11-01 22:30:43 【问题描述】:我有一个带有架构的 bigquery 表:
我想要这个结果:
flow_timestamp, channel_name, number_of_digits
2019-10-31 15:31:15, channel_name_1, 3,
2019-10-31 15:31:15, channel_name_2, 4,
:
:
我的查询:SELECT flow_timestamp, timeseries.channel_name, MAX(IF(channel_properties.key = 'number_of_digits', channel_properties.value, NULL)) AS number_of_digits FROM my_table , unnest(timeseries.channel_properties) as channel_properties
我已经尝试过这里显示的相同技术, How to aggregate multiple rows into one in BigQuery?
但出现错误SELECT list expression references column flow_timestamp which is neither grouped nor aggregated at [1:8]
【问题讨论】:
【参考方案1】:以下是 BigQuery 标准 SQL
#standardSQL
SELECT
flow_timestamp,
timeseries.channel_name,
( SELECT MAX(IF(channel_properties.key = 'number_of_digits', channel_properties.value, NULL))
FROM UNNEST(timeseries.channel_properties) AS channel_properties
) AS number_of_digits
FROM my_table
【讨论】:
您好,谢谢。实际上,我的表有更多的嵌套字段。我有一个有 5 层的字段。我想知道这是否是一个好习惯,因为它使查询变得非常复杂。但另一方面,它避免了存储重复信息。 发布包含所有相关细节的新问题,以便我们能够回答 好的,谢谢。 ***.com/questions/58684318/…以上是关于使用嵌套字段旋转的 bigquery的主要内容,如果未能解决你的问题,请参考以下文章