有什么方法可以过滤
内容中的数据array_agg
一步,而无需编写CTE来首先过滤内容?
https://cloud.google.com/bigquery/docs/reference/standard-sql/arrays
答案 0 :(得分:3)
使用以下构造:
ARRAY_AGG(IF(condition, NULL, column_value) IGNORE NULLS)
下面是说明该方法的简化示例
#standardSQL
WITH `project.dataset.table` AS (
SELECT 1 id, 1 val UNION ALL
SELECT 1, 2 UNION ALL
SELECT 1, 3 UNION ALL
SELECT 1, 4 UNION ALL
SELECT 1, 5 UNION ALL
SELECT 1, 6
)
SELECT id, ARRAY_AGG(IF(val < 4, NULL, val) IGNORE NULLS)
FROM `project.dataset.table`
GROUP BY id