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 子句