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真题
