Saltar al contenido principal

Introducción

Filtrar una tabla de ClickHouse por una columna de tipo Array es una tarea habitual, y el producto ofrece muchas funciones para trabajar con este tipo de columnas. En este artículo, nos centraremos en cómo filtrar una tabla por una columna de tipo Array, pero el video de abajo cubre muchas otras funciones relacionadas con arrays:

Ejemplo

Usaremos el ejemplo de una tabla con dos columnas, tags_string y tags_int, que contienen un array de cadenas y enteros, respectivamente.
  • Cree una base de datos y una tabla de ejemplo.
  • Crear una tabla de ejemplo
  • Inserta algunos datos de ejemplo en la tabla.
Filtra la tabla con la función has(arr, elem) para devolver las filas en las que el array arr contiene el elemento elem. Filtra la tabla para devolver las filas en las que el array tags_string contiene el elemento tag1.
Usa la función hasAll(arr, elems) para devolver las filas en las que todos los elementos del array elems están presentes en el array arr. Filtra la tabla para devolver las filas en las que todos los elementos del array tags_string están presentes en el array ['tag1', 'tag2'].
Usa la función hasAny(arr, elems) para devolver las filas en las que al menos un elemento del array elems está presente en el array arr. Filtra la tabla para devolver las filas en las que al menos un elemento del array tags_string está presente en el array ['tag1', 'tag2'].
Podemos usar una función lambda para filtrar la tabla con la función arrayExists(lambda, arr). Filtra la tabla para devolver las filas en las que al menos un elemento del Array tags_int es mayor que 3.
Última modificación el 19 de junio de 2026