有没有办法加入 clickhouse 列中的所有数组,然后过滤重复项?

Але*_*ито 5 clickhouse

我有一个 clickhouse 表,其中一列是 Array(T)。当我运行时, SELECT array_field FROM my_table 我得到以下信息:

1 | {a, b, c}
--------------
2 | {a, b}
--------------
3 | {d, e}
Run Code Online (Sandbox Code Playgroud)

我需要找到一种方法来获取所有列表中唯一值的列表,就像这样:

{a, b, c, d, e}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

fil*_*nov 6

要在一行中获得相同的数组:groupUniqArray-Array组合器一起使用。检查文档

SELECT *
FROM my_table 

??array_field????
? ['a','b','c'] ?
? ['a','b']     ?
? ['d','e']     ?
?????????????????

3 rows in set. Elapsed: 0.001 sec. 

SELECT DISTINCT arrayJoin(array_field)
FROM my_table 

??arrayJoin(array_field)??
? a                      ?
? b                      ?
? c                      ?
? d                      ?
? e                      ?
??????????????????????????

SELECT groupUniqArrayArray(array_field)
FROM my_table 

??groupUniqArrayArray(array_field)??
? ['c','e','d','a','b']            ?
????????????????????????????????????

Run Code Online (Sandbox Code Playgroud)