跳到主要内容

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

微信公众号二维码关注公众号
交流微信二维码加群交流
赞赏二维码赞赏

你可能还想看