sql - 从 BigQuery 中的重复嵌套列中获取参数数组
问题描述
我有一个表,其中一列定义为:
my_column ARRAY<STRUCT<key STRING, value FLOAT64, description STRING>>
有没有一些简单的方法可以使用语句value
为每一行获取参数数组?SELECT
显然,这不起作用:
SELECT my_column.value
FROM my_table
我可以使用UNNEST
然后ARRAY_AGG
对所有其他列进行分组,但感觉就像是一个黑客。
解决方案
以下是 BigQuery 标准 SQL
我可以使用 UNNEST 然后 ARRAY_AGG 对所有其他列进行分组,但感觉就像一个黑客。
不,这根本不是黑客攻击。同时,您可以避免在此处使用显式 UNNEST
#standardSQL
SELECT ARRAY(SELECT value FROM t.my_column) AS my_column_values
FROM `project.dataset.my_table` t
或者
#standardSQL
SELECT (SELECT ARRAY_AGG(value) FROM t.my_column) my_column_values
FROM `project.dataset.my_table` t