clickhouse数组查询
clickhouse array query
我在 table 中有一个数据类型为 Array(Int32)
的列。要查询数组中的项目,我使用以下查询。
select count(id) from user where has(array,2);
如何查询数组中的多个元素? Clickhouse 中有 in
查询吗?
我想要如下所述的查询
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]))
hasAll 函数检查一个数组是否是另一个数组的子集。
我在 table 中有一个数据类型为 Array(Int32)
的列。要查询数组中的项目,我使用以下查询。
select count(id) from user where has(array,2);
如何查询数组中的多个元素? Clickhouse 中有 in
查询吗?
我想要如下所述的查询
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]))
hasAll 函数检查一个数组是否是另一个数组的子集。