Mysql clickhouse数组查询

Mysql clickhouse数组查询,mysql,sql,clickhouse,Mysql,Sql,Clickhouse,我在一个数据类型为Array(Int32)的表中有一列。要查询数组中的项,我使用下面的查询 select count(id) from user where has(array,2); 如何查询数组中的多个元素?clickhouse中的查询中是否有 我想要下面提到的查询 select count(id) from user where has(array,2) or has(array,3) 我从未使用clickhouse,但我认为有一种解决方法可以检查数组是否包含所有给定的条目 selec

我在一个数据类型为
Array(Int32)
的表中有一列。要查询数组中的项,我使用下面的查询

select count(id) from user where has(array,2);
如何查询数组中的多个元素?clickhouse中的查询中是否有

我想要下面提到的查询

select count(id) from user where has(array,2) or has(array,3)

我从未使用clickhouse,但我认为有一种解决方法可以检查数组是否包含所有给定的条目

select count(id) 
from user 
where arrayUniq(arrayConcat(array, [2, 3])) = arrayUniq(array)
如果您想检查是否有一个或多个条目,我想应该是:

select count(id) 
from user 
where arrayUniq(arrayConcat(array, [2, 3])) < length(arrayConcat(array, [2, 3]))
选择计数(id)
来自用户
其中arrayUniq(arrayConcat(array,[2,3]))
函数检查一个数组是否是另一个数组的子集。

谢谢。我认为第二个查询应该是
arrayUniq返回长度,不需要再次调用长度函数。如果等于,则意味着数组不包含我们不需要的任何搜索值。解决方案远远不是最优的。使用伊万·布林科夫建议的
hasAny
功能。当然。。在文档中找不到这些函数。。如果它们存在,那么必须使用它们,而不是我的建议