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