any
Introducido en: v1.1.0
Selecciona el primer valor encontrado en una columna.
De forma predeterminada, la función nunca devuelve NULL; es decir, ignora los valores NULL de la columna de entrada.
Sin embargo, si la función se usa con el modificador RESPECT NULLS, devuelve el primer valor leído, sea NULL o no.
Detalles de implementación
En algunos casos, puede confiar en el orden de ejecución.
Esto se aplica a los casos en los que SELECT proviene de una subconsulta que usa ORDER BY.
Cuando una consulta SELECT tiene la cláusula GROUP BY o al menos una función de agregado, ClickHouse (a diferencia de MySQL) requiere que todas las expresiones de las cláusulas SELECT, HAVING y ORDER BY se calculen a partir de claves o de funciones de agregado.
En otras palabras, cada columna seleccionada de la tabla debe usarse ya sea en claves o dentro de funciones de agregado.
Para obtener un comportamiento como en MySQL, puede colocar las otras columnas en la función de agregado any.
Sintaxis
any(column)[ RESPECT NULLS]Alias: any_value, first_value
Argumentos
column— El nombre de la columna.Any
Valor devuelto
Devuelve el primer valor encontrado.
Any
Ejemplos
Ejemplo de uso
CREATE TABLE tab (city Nullable(String)) ENGINE=Memory;
INSERT INTO tab (city) VALUES (NULL), ('Amsterdam'), ('New York'), ('Tokyo'), ('Valencia'), (NULL);
SELECT any(city), anyRespectNulls(city) FROM tab;┌─any(city)─┬─anyRespectNulls(city)─┐
│ Amsterdam │ ᴺᵁᴸᴸ │
└───────────┴───────────────────────┘