mode
statistische functie
Van toepassing op: Databricks SQL Databricks Runtime 11.3 LTS en hoger
Retourneert de meest voorkomende, niet NULL
- waarde van expr
een groep.
mode
is een niet-deterministische functie, tenzij deterministic
deze is ingesteld op true
.
Syntaxis
mode(expr [, deterministic ]) [FILTER ( WHERE cond ) ]
Deze functie kan ook worden aangeroepen als een vensterfunctie met behulp van de OVER
component.
Argumenten
expr
Een expressie van elk type dat kan worden vergeleken.
deterministic
In Databricks SQL en Databricks Runtime 14.1 en hoger. Een optionele
BOOLEAN
constante expressie. Alstrue
u een deterministisch resultaat garandeert als er meerdere waarden met dezelfde frequentie zijn.cond
Een optionele
BOOLEAN
expressie die de rijen filtert die worden gebruikt voor aggregatie.
Retouren
Het resultaattype komt overeen met het type argument.
Als de groep alleen null-waarden bevat, retourneert NULL
de functie.
Het resultaat is niet-deterministisch als er een gelijkspel is voor de meest voorkomende waarde.
Notitie
Zelfs met deterministic
ingesteld op true
, kunnen de resultaten niet-deterministisch zijn voor bepaalde STRING
sorteringen, zoals UTF8_LCASE
.
Voorbeelden
> 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)