Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

any

any

Introduite dans : v1.1.0

Sélectionne la première valeur rencontrée d’une colonne.

Par défaut, la fonction ne renvoie jamais NULL, c’est-à-dire qu’elle ignore les valeurs NULL dans la colonne d’entrée. Cependant, si la fonction est utilisée avec le modificateur RESPECT NULLS, elle renvoie la première valeur lue, qu’elle soit NULL ou non.

Détails d’implémentation

Dans certains cas, vous pouvez vous fier à l’ordre d’exécution. Cela s’applique aux cas où SELECT provient d’une sous-requête qui utilise ORDER BY.

Lorsqu’une requête SELECT comporte la clause GROUP BY ou au moins une fonction d’agrégation, ClickHouse (contrairement à MySQL) exige que toutes les expressions des clauses SELECT, HAVING et ORDER BY soient calculées à partir de clés ou de fonctions d’agrégation. Autrement dit, chaque colonne sélectionnée de la table doit être utilisée soit dans les clés, soit à l’intérieur de fonctions d’agrégation. Pour obtenir un comportement semblable à celui de MySQL, vous pouvez placer les autres colonnes dans la fonction d’agrégation any.

Syntaxe

any(column)[ RESPECT NULLS]

Alias : any_value, first_value

Arguments

  • column — Nom de la colonne. Any

Valeur renvoyée

Renvoie la première valeur rencontrée. Any

Exemples

Exemple d'utilisation

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 │ ᴺᵁᴸᴸ                  │
└───────────┴───────────────────────┘
Navigation