clickhouse数组查询

wpx232ag  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(1842)

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

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

如何查询数组中的多个元素?有吗 in 在clickhouse中查询?
我想要下面提到的问题

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

k3bvogb11#

我从未使用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]))
wsewodh2

wsewodh22#

hasall函数检查一个数组是否是另一个数组的子集。

相关问题