Partager via


Fonction d’agrégation max_by

S’applique à :case marquée oui Databricks SQL case marquée oui 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)