MySQL 提供了丰富的聚合函数用于统计分组数据。主要的聚合函数包括:
COUNT(): 计算列的行数
SELECT COUNT(*) FROM table_name; -- 计算表的总行数
SELECT COUNT(column_name) FROM table_name; -- 计算指定列非 NULL 的行数
SUM(): 计算列值的总和
SELECT SUM(column_name) FROM table_name; -- 计算指定列值的总和
AVG(): 计算列值的平均值
SELECT AVG(column_name) FROM table_name; -- 计算指定列值的平均值
MAX(): 返回列值的最大值
MIN(): 返回列值的最小值
使用时需配合GROUP BY子句实现分组功能:
SELECT department, COUNT(*) FROM employees GROUP BY department;
以上这些聚合函数可以配合实用在:
SELECT 语句中实现聚合操作
HAVING 子句中过滤分组
ORDER BY 子句对结果进行排序
要注意的是:
聚合函数只作用于查询列表中的列
SELECT 子句中的非聚合列要与 GROUP BY 子句的分组列对应
要分组查询,必须提供 GROUP BY 子句