Arrays 计算Postgres数组中重叠元素的数量

Arrays 计算Postgres数组中重叠元素的数量,arrays,postgresql,Arrays,Postgresql,我有一个整数数组作为列 有没有办法查询重叠整数的数量 例如,对于以下3个记录: COLUMN1 {1,3,7} {3,4,5} {1,2} 如何获得数组[3,4,8]中重叠元素的数量 我的例子的结果应该是: 1 (element 3) 2 (element 3 and 4) 0 (none) 我找到了 SELECT COLUMN1 && ARRAY[44,45,46] FROM table1 但这将返回true或false。如果您选择扩展,则可以使用该扩展中的“交叉点”操作

我有一个整数数组作为列

有没有办法查询重叠整数的数量

例如,对于以下3个记录:

COLUMN1
{1,3,7}
{3,4,5}
{1,2}
如何获得数组[3,4,8]中重叠元素的数量

我的例子的结果应该是:

1 (element 3)
2 (element 3 and 4)
0 (none)
我找到了

SELECT COLUMN1 && ARRAY[44,45,46] FROM table1
但这将返回true或false。

如果您选择扩展,则可以使用该扩展中的“交叉点”操作符:

select column1, column1 & ARRAY[3,4,8] as elements
from table1
返回:

column1 |元素
--------+---------
{1,3,8} | {3,8}   
{3,4,5} | {3,4}   
{1,2}   | {}      

要获得结果数组中的元素数,请使用基数(column1&array[3,4,8])

100%我所寻找的值!谢谢。