共用方式為


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回 。 如果最頻繁的值有系結,則結果不具決定性。

注意

即使將 deterministicset 至 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)