SQL编程思想:基于5种主流数据库代码实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人


4.1.3 使用AVG函数计算平均值

AVG函数用于计算一组数据的平均值。例如,以下查询统计了所有员工的平均月薪:

查询返回的结果如下:

所有员工的平均月薪为9832元。

如果我们为AVG函数指定了DISTINCT关键字,则会在计算平均值之前排除重复数据。例如,1、1、2的平均值为(1+2)/2,而不是(1+1+2)/3。例如,以下查询返回了所有不重复月薪的平均值:

查询返回的结果如下:

去掉重复数据之后的平均月薪有所增加。

另外,如果参数中存在空值,AVG函数会忽略这些空值。例如,1、2、NULL的平均值为(1+2)/2,而不是(1+2+NULL)/3。以下查询返回了员工(不包括没有奖金的员工)的平均奖金:

查询返回的结果如下:

如果我们想要将没有奖金的员工当作奖金为零处理,可以使用CASE表达式:

查询返回的结果如下: