聚合函数
聚合函数为 SQL 语句提供合计信息,比如计数、总和、平均等,它的操作面向一系列的值,并返回一个单一的值。
一、最大值 MAX
MAX 函数返回一组记录中某个字段的最大值,NULL 值不在计算范围之内。
语法:MAX(列名)
例1:求雇员工资表里的最高薪水:
SELECT MAX(SALARY) FROM EMPLOYEE_PAY_TBL;
也可以使用 DISTINCT,但全部记录与不同记录的最大值是一样的,所以用 DISTINCT 没有意义。
二、最小值 MIN
MIN 函数返回一组记录中某个字段的最小值,NULL 值不在计算范围之内。
语法:MIN(列名)
例2:求雇员工资表里薪水的最小值:
SELECT MIN(SALARY) FROM EMPLOYEE_PAY_TBL;
也可以使用 DISTINCT,但全部记录与不同记录的最大值是一样的,所以用 DISTINCT 没有意义。
三、计数 COUNT
COUNT 函数用于统计不包含 NULL 值的记录或字段值,在查询时,它返回一个数值。
语法:COUNT(列名)
说明:COUNT (*) 会统计表里的全部记录数量,包括重复的,也不管字段里是否包含 NULL 值;COUNT 与 DISTINCT 一起使用,只统计数据集里不同的记录数量;ALL 是默认的,不必明确指定。
例3:统计雇员表里的全部行:
SELECT COUNT(*) FROM EMPLOYEE_TBL;
例4:统计雇员工资表里全部雇员 ID:
SELECT COUNT(EMPLOYEE_ID) FROM EMPLOYEE_PAY_TBL;
例5:统计雇员工资表里不同薪水的行数:
SELECT (DISTINCT SALARY) FROM EMPLOYEE_PAY_TBL;
例6:统计雇员工资表里薪水字段的全部行:
SELECT COUNT(ALL SALARY) FROM EMPLOYEE_PAY_TBL;
四、总和 SUM
SUM 函数返回一组记录中某一个字段值的总和。
语法:SUM(列名)
也可以与 DISTINCT 一起使用,这时只会计算不同记录之和。这一般没有意义,因为有些记录被忽略掉了。
例7:计算薪水的总和:
SELECT SUM(SALARY) FROM EMPLOYEE_PAY_TBL;
五、平均值 AVG
AVG 函数可以计算一组指定记录的平均值。
语法: AVG(列名)
在与 DISTINCT 一起使用时,它返回不重复记录的平均值。
例8:求薪水的平均值:
SELECT AVG(SALARY) FROM EMPLOYEE_PAY_TBL;
例9:求不同薪水的平均值:
SELECT AVG(DISTINCT SALARY) FROM EMPLOYEE_PAY_TBL;