1. 聚合函数(Aggregate Function)
MySQL(5.7 ) 官方文档中给出的聚合函数列表(图片)如下:
除非另有说明,否则聚合函数都会忽略空值(NULL values)。
2. 聚合函数的使用
聚合函数通常对 GROUP BY 语句进行分组后的每个分组起作用,即,如果在查询语句中不使用 GROUP BY 对结果集分组,则聚合函数就对结果集的所有行起作用。为说明聚合函数的使用,现创建测试表 member 进行测试,member 的数据结构如下(使用 SELECT * FROM member 查询所得):
1)对结果集直接使用聚合函数
例如,使用聚合函数SUM () 计算所有会员(member) 的会费总和,则可使用:
SELECT SUM(fee) AS total_fee FROM member #计算所有会员会费总和
查询结果为:
SUM 函数会对全部字段列 fee 进行求和。当然,也可以求平均值、最大值等。
此外,也可以使用 WHERE 语句进行限定条件的聚合查询。例如,如果要查询 country 为 China 的会员会费之和,则为:
SELECT SUM(fee) AS China_total_fee, country FROM member WHERE country = 'China'
结果显示如下:
2)GROUP BY 对结果集分组后使用聚合函数——组内聚合
GROUP BY 如何分组?
——将字段值相同的记录归为一组,可用COUNT(*) 统计组内成员个数;
“组内聚合”为何意?
——以分组为单位,对组内每个成员使用