mode
mängdfunktion
Gäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
Returnerar det vanligaste, inte NULL
, värdet expr
för i en grupp.
mode
är en icke-deterministisk funktion såvida inte deterministic
är set till true
.
Syntax
mode(expr [, deterministic ]) [FILTER ( WHERE cond ) ]
Den här funktionen kan också anropas som en window funktion med hjälp av OVER
-satsen.
Argument
expr
Ett uttryck av valfri typ som kan jämföras.
deterministic
I Databricks SQL och Databricks Runtime 14.1 och senare. Ett valfritt
BOOLEAN
konstant uttryck. Omtrue
garanterar ett deterministiskt resultat om det finns flera values med samma frekvens.cond
Ett valfritt
BOOLEAN
uttryck som filtrerar de rader som används för aggregering.
Returer
Resultattypen matchar typen av argument.
Om gruppen bara innehåller null returnerar NULL
funktionen .
Resultatet är icke-deterministiskt om det finns ett oavgjort värde för det vanligaste värdet.
Not
Även med deterministic
set till true
kan resultaten vara icke-deterministiska för vissa STRING
sorteringar, till exempel UTF8_LCASE
.
Exempel
> 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)