mode 聚合函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime 11.2 及更高版本

返回组中 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