Clickhouse实现多个数组求差集功能


select arrayFilter(x -> x is not null,arrayMap(x ->case when x not in  arrayIntersect([1,2],[2,3]) then x end, arrayDistinct(arrayConcat([1,2],[2,3]))))

1.png

上述[1,2]和[2,3]分别表示要求差集的数组
数据函数解释:
arrayIntersect表示多个数组求交集
arrayConcat表示连接多个数组为一个数组
arrayDistinct表示将多个数组元素去重组合为一个数组
arrayMap表示使用lambda函数转换
arrayFilter表示使用lambda函数过滤
参考:https://clickhouse.tech/docs/zh/sql-reference/functions/higher-order-functions/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容