跳到主要内容

mode:返回众数

速查结论

mode(col) 是 Spark SQL 中用于**返回列中出现频率最高的值(众数)**的函数。

语法

mode(col)

参数说明

参数说明
col要计算众数的列或表达式,支持数值和 ANSI 间隔类型

示例

> SELECT mode(col) FROM VALUES (0), (10), (10) AS tab(col);
10
> SELECT mode(col) FROM VALUES (INTERVAL '0' MONTH), (INTERVAL '10' MONTH), (INTERVAL '10' MONTH) AS tab(col);
0-10
> SELECT mode(col) FROM VALUES (0), (10), (10), (null), (null), (null) AS tab(col);
10

常见报错与避坑指南

  • NULL 值处理mode() 自动忽略 NULL 值。即使 NULL 值出现次数最多(如第三个示例),函数仍返回非空值中的众数。
  • 全 NULL 或无行:如果所有值都是 NULL,或者结果集中没有行,mode() 返回 NULL。
  • 多众数情况:当多个值以相同的最多频率出现时,mode() 返回其中一个值,但结果是非确定性的。

Since: 3.4.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

备注「数据仓库技术」加入社群,每日一道大厂SQL真题

交流微信二维码

你可能还想看