mode
聚合函數
適用於: Databricks SQL Databricks Runtime 11.3 LTS 和更新版本
傳回 NULL
在群組中最常出現的值,而非 expr
。
除非 deterministic
是 set 成 true
,否則 mode
是非決定性函式。
語法
mode(expr [, deterministic ]) [FILTER ( WHERE cond ) ]
您也可以使用 OVER
子句,將此函式叫用為 window 函式。
引數
expr
可比較之任何型別的表達式。
deterministic
在 Databricks SQL 和 Databricks Runtime 14.1 和更新版本中。 選擇性
BOOLEAN
常數表達式。 如果有多個 values 具有相同頻率,則true
保證具決定性的結果。cond
選擇性
BOOLEAN
表達式,篩選用於匯總的數據列。
傳回
結果類型符合 自變數的類型。
如果群組只包含 Null,則函式會傳 NULL
回 。
如果最頻繁的值有系結,則結果不具決定性。
注意
即使將 deterministic
set 至 true
,某些 STRING
定序的結果可能是非確定性的,例如 UTF8_LCASE
。
範例
> 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)