Teilen über


mode-Aggregatfunktion

Gilt für:Häkchen ja Databricks SQL Häkchen gesetzt ja Databricks Runtime 11.3 LTS und höher

Gibt den häufigsten Wert von NULL (nicht expr) einer Gruppe zurück.

mode ist eine nicht deterministische Funktion, es sei denn, deterministic ist auf true festgelegt.

Syntax

mode(expr [, deterministic ]) [FILTER ( WHERE cond ) ]

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

Argumente

  • expr

    Ein Ausdruck eines beliebigen Typs, der verglichen werden kann.

  • deterministic

    In Databricks SQL und Databricks Runtime 14.1 und höher. Ein optionaler BOOLEANKonstantenausdruck. Wenn true ein deterministisches Ergebnis garantiert, sofern mehrere Werte mit derselben Häufigkeit vorhanden sind.

  • cond

    Ein optionaler BOOLEAN-Ausdruck, der die für die Aggregation verwendeten Zeilen filtert.

Gibt zurück

Der Ergebnistyp entspricht dem Typ des Arguments.

Wenn die Gruppe nur NULL-Werte enthält, gibt die Funktion NULL zurück. Das Ergebnis ist bei einem Gleichstand für den häufigsten Wert nicht deterministisch.

Hinweis

Selbst wenn deterministic auf true festgelegt ist, können die Ergebnisse für bestimmte STRING-Sortierungen, wie z. B. UTF8_LCASE, nicht deterministisch sein.

Beispiele

> SELECT mode(col) FROM VALUES (NULL), (1), (NULL), (2), (NULL), (3), (3) AS tab(col);
 3

> SELECT mode(col) FROM VALUES (array(1, 2)), (array(1, 2)), (array(2, 3)) AS tab(col);
 [1, 2]

-- The function returns either 1 or 2, but not 3
> SELECT mode(col) FROM VALUES (1), (1), (2), (2), (3) AS tab(col);
 1

> SELECT mode(col) FROM VALUES (NULL), (NULL) AS tab(col);
 NULL

> SELECT mode(col COLLATE UTF8_LCASE, true) FROM VALUES('a'), ('A'), ('b') AS tab(col);
 a (or A)