clickhouse - 如何找到两个数组列的交集
问题描述
我有两个数组(Int32)-列,有什么方法可以比较它们并获得与这两个数组的交集的列?
我正在考虑 arrayMap 函数,但它似乎是无效的方法。
示例数据:
id col1 col2 col3
1 [1, 2, 3] [2, 3, 5] [2, 3]
...........
解决方案
SELECT
[1, 2, 3] AS a,
[2, 3, 5] AS b,
arrayIntersect(a, b)
┌─a───────┬─b───────┬─arrayIntersect([1, 2, 3], [2, 3, 5])─┐
│ [1,2,3] │ [2,3,5] │ [3,2] │
└─────────┴─────────┴──────────────────────────────────────┘
推荐阅读
- laravel - 如何在主管中动态更改 numprocs
- java - 使用 JPA Criteria API 将子查询 SELECT 作为字段
- c++ - 就地合并向量的 N 段 C++
- angular - 在`npm update`之后得到`error TS2304: Cannot find name 'module'`
- php - 卷曲到 yii1.1 动作返回空结果
- javascript - 如何使用 React Native JS 将一个页面重定向到另一个页面
- gdb - 如何使用 gdb 闯入正在运行的程序?
- c - Windows 是否有 sigaltstack 和 sigaction 的替代品?
- c# - 如何注册装饰器以解析装饰器
- python-3.x - 需要帮助关闭自动打开的 Internet Explorer 网页