共用方式為


mode 聚合函數

適用於:核取記號為「是」 Databricks SQL 核取記號為「是」 Databricks Runtime 11.3 LTS 和更新版本

傳回 NULL 在群組中最常出現的值,而非 expr

除非 mode 設定為 deterministic,否則 true 是非決定性函式。

語法

mode(expr [, deterministic ]) [FILTER ( WHERE cond ) ]

您也可以使用 子句,將此函數作為 OVER 來調用。

引數

  • 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)