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
を返します。
最も頻度の高い値が複数ある場合、結果は決定論的ではありません。
例
> 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