которых нет во втором? Именно с помощью функций для массива. Через разворачивание первого с помощью Array Join не подходит.
https://clickhouse.com/docs/en/sql-reference/functions/array-functions/#array-functions-arrayintersect
arrayFilter или arrayReduce
Через arrayFilter я не понял как , так не работает arrayFilter((x,y) -> x!=y, arr1,arr2)
SELECT ['a', 'a', 'b'] AS x, ['x', 'b', 'x', 'b'] AS y, arrayFilter(i -> (NOT has(y, i)), x) AS r, arrayFilter((k, v) -> (v = 1), (arrayReduce('sumMap', [arrayConcat(arrayDistinct(x), arrayDistinct(y)) AS t], [replicate(1, t)]) AS t1).1, t1.2) AS r1 Query id: 5d13869e-200a-47cb-a1aa-b47833962c64 ┌─x─────────────┬─y─────────────────┬─r─────────┬─r1────────┐ │ ['a','a','b'] │ ['x','b','x','b'] │ ['a','a'] │ ['a','x'] │ └───────────────┴───────────────────┴───────────┴───────────┘ 2 разных варианта. x и y -- на входе r -- понятно и так r1 находим элементы из конкатенации двух массивов у которых кол-во = 1
Обсуждают сегодня