Freigeben ü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 expr (nicht NULL) 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 OVER-Klausel als Fensterfunktion 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 BOOLEAN-Konstantenausdruck. 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.

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