Fonction d’agrégation max_by
S’applique à : Databricks SQL
Databricks Runtime
Retourne la valeur d’expr1
associée à la valeur maximale d’expr2
dans un groupe.
Syntaxe
max_by(expr1, expr2) [FILTER ( WHERE cond ) ]
Cette fonction peut également être appelée en tant que fonction de fenêtre à l’aide de la clause OVER
.
Arguments
expr1
: Expression de tout type.expr2
: expression d’un type qui peut être ordonné.cond
: expression booléenne facultative qui filtre les lignes utilisées pour l’agrégation.
Retours
Le type de résultat correspond au type de expr1
.
Si STRING
.
Cette fonction est non déterministe si expr2
n’est pas unique au sein du groupe.
Remarque
Pour certains classements STRING
, tels que UTF8_LCASE
, le résultat peut également être non déterministe.
Exemples
> SELECT max_by(x, y) FROM VALUES (('a', 10)), (('b', 50)), (('c', 20)) AS tab(x, y);
b
> SELECT max_by(x, y COLLATE UTF8_LCASE) FROM VALUES (('a', 'X')), (('b', 'x')), (('c', 'v')) AS tab(x, y);
a (or b)