存在1.026行,其中包含944个唯一的modemio_cat_ids
如何返回将所有非null列嵌套到 1个单个数组的查询中,该查询称为每个modemio_cat_id的“父母”?
示例:对于modemio_cat_id = 1111118
,然后最后按modemio_cat_id分组,并在出现重复的情况下累积所有数组
错误的方法:此查询始终为每个modemutti_cat_id返回相同的数组:
SELECT modemio_cat_id, ARRAY (
SELECT AS STRUCT cat1_id, cat2_id FROM `modemutti-8d8a6.categorization.test`
) as parent
FROM `modemutti-8d8a6.categorization.test`
group by modemio_cat_id
答案 0 :(得分:2)
以下BigQuery标准SQL示例
#standardSQL
SELECT modemio_cat_id,
ARRAY_AGG(DISTINCT cat_id IGNORE NULLS) parents
FROM `modemutti-8d8a6.categorization.test`,
UNNEST([cat1_id, cat2_id, cat3_id, cat4_id, cat5_id, cat6_id]) cat_id
GROUP BY modemio_cat_id