Freigeben über


max_by-Aggregatfunktion

Gilt für: durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Gibt den Wert eines Ausdrucks (expr1) zurück, für den der Wert von expr2 in einer Gruppe maximal ist

Syntax

max_by(expr1, expr2) [FILTER ( WHERE cond ) ]

Diese Funktion kann auch mithilfe der OVER-Klausel als Fensterfunktion aufgerufen werden.

Argumente

  • expr1: Ein Ausdruck beliebigen Typs
  • expr2: Ein Ausdruck eines Typs, der geordnet werden kann.
  • cond: Ein optionaler boolescher Ausdruck, der die für die Aggregation verwendeten Zeilen filtert.

Gibt zurück

Der Ergebnistyp stimmt mit dem Typ von expr1 überein.

Diese Funktion ist nicht deterministisch, wenn expr2 innerhalb der Gruppe nicht eindeutig ist.

Beispiele

> SELECT max_by(x, y) FROM VALUES (('a', 10)), (('b', 50)), (('c', 20)) AS tab(x, y);
 b