min_by
-Aggregatfunktion
Gilt für: Databricks SQL Databricks Runtime
Gibt den Wert eines Ausdrucks (expr1
) zurück, für den der Wert von expr2
in einer Gruppe minimal ist.
Syntax
min_by(expr1, expr2) [FILTER ( WHERE cond ) ]
Diese Funktion kann auch mithilfe der -Klausel als OVER
aufgerufen werden.
Argumente
expr1
: Ein Ausdruck beliebigen Typsexpr2
: 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.
Anmerkung
Bei bestimmten STRING
-Kollationen, wie UTF8_LCASE
, kann das Ergebnis auch nicht deterministisch sein.
Beispiele
> SELECT min_by(x, y) FROM VALUES (('a', 10)), (('b', 50)), (('c', 20)) AS tab(x, y);
a
> SELECT min_by(x, y COLLATE UTF8_LCASE) FROM VALUES (('a', 'X')), (('b', 'x')), (('c', 'Z')) AS tab(x, y);
a (or b)