如何找到两个数组列的交集

Posted

技术标签:

【中文标题】如何找到两个数组列的交集【英文标题】:How to find intersection of two array-columns 【发布时间】:2021-06-01 08:42:33 【问题描述】:

我有两个数组(Int32)-列,有什么方法可以比较它们并得到这两个数组的交集的列?

我正在考虑arrayMap函数,但它似乎是无效的方法。

示例数据:

id     col1      col2     col3
1   [1, 2, 3] [2, 3, 5]  [2, 3]
...........

【问题讨论】:

【参考方案1】:

https://clickhouse.tech/docs/en/sql-reference/functions/array-functions/#array-functions-arrayintersect

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]                                │
└─────────┴─────────┴──────────────────────────────────────┘

【讨论】:

谢谢,在文档中没有找到这个

以上是关于如何找到两个数组列的交集的主要内容,如果未能解决你的问题,请参考以下文章

在Python / Numpy / Scipy中找到两个数组之间的插值交集

如何求两个数组的交集??

如何获得两个数组的关键交集?

leetcode-350- 两个数组的交集 II

查找两个活动记录项数组之间的共同项

mysql 判断两个数组是不是有交集