- 类别:
/sql-reference/functions-aggregation`(计算非重复值)、:doc:/sql-reference/functions-window`(半结构化数据聚合)
ARRAY_UNION_AGG¶
返回一个 ARRAY,其中包含列中的输入 ARRAYs 的非重复值并集。您可以使用它来汇总 ARRAY_UNIQUE_AGG 生成的 ARRAYs 中的不同值。
语法¶
ARRAY_UNION_AGG( <column> )
实参¶
column
包含具有不同值的 ARRAYs 的列(由 ARRAY_UNIQUE_AGG 生成的 ARRAYs)。
返回¶
该函数返回一个 ARRAY,该数组包含 column
中 ARRAYs 的不同值。ARRAY 中的值没有特定的顺序,并且顺序是不确定的。
请注意,该函数使用 多集语义 (link removed),这意味着单个值在单个输入 ARRAY 中的最大出现次数决定了该值在输出 ARRAY 中的出现次数。参阅 示例。
该函数忽略 column
和 column
中 ARRAYs 中的 NULL 值。如果 column
只包含 NULL 值或包含 column
的表为空,则该函数返回一个空 ARRAY。
使用说明¶
示例¶
聚合:数组的并集¶
以下示例说明函数如何返回两个 ARRAYs 中不同值的并集:
CREATE TABLE union_test(a array);
INSERT INTO union_test
SELECT PARSE_JSON('[ 1, 1, 2]')
UNION ALL
SELECT PARSE_JSON('[ 1, 2, 3]');
SELECT ARRAY_UNION_AGG(a) FROM union_test;
+-------------------------+
| ARRAY_UNION_AGG(A) |
+-------------------------+
| [ 1, 1, 2, 3] |
+-------------------------+
该操作使用 多集 (link removed) 语义。值 1
在输出中出现了两次,因为它在其中一个输入数组中出现了两次。
请参阅 使用数组计算分层聚合的非重复值。