mode
聚合函数
适用于: Databricks SQL Databricks Runtime 11.3 LTS 及更高版本
返回组中 expr
的最常见值,而不是 NULL
。
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