我有一个包含字符串数组字段的BigQuery表。对于某些记录,数组可以包含重复的字符串值。
在BigQuery的UNNEST子句中,是否可能过滤掉重复项,以便UNNEST仅返回不同的数组字符串值?
我有一个包含字符串数组字段的BigQuery表。对于某些记录,数组可以包含重复的字符串值。
在BigQuery的UNNEST子句中,是否可能过滤掉重复项,以便UNNEST仅返回不同的数组字符串值?
以下内容适用于 BigQuery 标准 SQL
#standardSQL
SELECT * REPLACE(ARRAY(SELECT DISTINCT el FROM t.arr AS el) AS arr)
FROM `project.dataset.table` t
#standardSQL
WITH `project.dataset.table` AS (
SELECT 1 col1, 2 col2, ["a", "a", "b", "e", "a", "c", "b", "a"] arr, 3 col3 UNION ALL
SELECT 4, 5, ["x", "y", "z"], 5
)
SELECT * REPLACE(ARRAY(SELECT DISTINCT el FROM t.arr AS el) AS arr)
FROM `project.dataset.table` t
带有输出
Row col1 col2 arr col3
1 1 2 a 3
b
e
c
2 4 5 x 5
y
z