跳到主要内容

avg:计算平均值

速查结论

avg(expr) 是 Spark SQL 中用于根据一组值计算并返回平均值的聚合函数。

语法

avg(expr)

参数说明

参数说明
expr数值表达式,通常为表的列名或可计算的数值字段

示例

> SELECT avg(col) FROM VALUES (1), (2), (3) AS tab(col);
2.0
> SELECT avg(col) FROM VALUES (1), (2), (NULL) AS tab(col);
1.5

常见报错与避坑指南

  • NULL 值自动忽略avg() 在计算时会自动跳过 NULL 值,不会将其计入平均值。例如 (1, 2, NULL) 的平均值为 1.5(即 (1+2)/2),而非 1.0。若需要将 NULL 视为 0,请使用 avg(COALESCE(col, 0))
  • 全部为 NULL 时返回 NULL:如果分组内所有值均为 NULL,则 avg() 返回 NULL 而非 0。下游处理时需做好 NULL 值判断。
  • 整型除法精度:对整数列使用 avg() 时返回值类型为 double,不会丢失小数精度。

Since: 1.0.0

📱关注公众号

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

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

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

交流微信二维码

你可能还想看