mode
funzione di aggregazione
Si applica a: Databricks SQL
Databricks Runtime 11.3 LTS e versioni successive
Restituisce il valore di NULL
più frequente, non expr
, in un gruppo.
mode
è una funzione non deterministica a meno che deterministic
non sia impostata su true
.
Sintassi
mode(expr [, deterministic ]) [FILTER ( WHERE cond ) ]
Questa funzione può anche essere richiamata come funzione finestra usando la clausola OVER
.
Argomenti
expr
Espressione di qualsiasi tipo che può essere confrontata.
deterministic
In Databricks SQL e Databricks Runtime 14.1 e versioni successive. Espressione costante facoltativa
BOOLEAN
. Setrue
garantisce un risultato deterministico se sono presenti più valori con la stessa frequenza.cond
Espressione facoltativa
BOOLEAN
che filtra le righe usate per l'aggregazione.
Valori restituiti
Il tipo di risultato corrisponde al tipo dell'argomento.
Se il gruppo contiene solo valori Null, la funzione restituisce NULL
.
Il risultato non è deterministico se esiste un legame per il valore più frequente.
Nota
Anche se deterministic
è impostato su true
, i risultati potrebbero non essere deterministici per determinate regole di confronto STRING
, ad esempio UTF8_LCASE
.
Esempi
> 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)