聚合函数用于计算并返回单个结果,包括COUNT、SUM、AVG、MAX、MIN,常与GROUP BY和HAVING配合使用。
MySQL中的聚合函数用于对一组值执行计算,并返回单个结果。常见的聚合函数包括 COUNT、SUM、AVG、MAX 和 MIN。它们通常与 GROUP BY 子句一起使用,用来对数据进行分组统计。
COUNT():统计行数
用于统计表中行的数量,可以统计所有行或某个字段的非空值数量。
• COUNT(*) 统计所有行,包含 NULL 值• COUNT(字段名) 只统计该字段非 NULL 的行数
示例:
SELECT COUNT(*) FROM users;SELECT COUNT(email) FROM users WHERE age > 20;
SUM():求和
对数值型字段的值进行求和,忽略 NULL 值。
• 常用于计算总金额、总数量等示例:
SELECT SUM(salary) FROM employees;SELECT department, SUM(salary) FROM employees GROUP BY department;
AVG():计算平均值
计算某字段的平均值,自动忽略 NULL 值。
• 对数值类型有效示例:
SELECT AVG(score) FROM student_scores;SELECT course, AVG(score) FROM student_scores GROUP BY course;
MAX() 与 MIN():最大值与最小值
分别返回指定字段的最大值和最小值。
• 可用于数字、字符串、日期等类型示例:
SELECT MAX(price), MIN(price) FROM products;SELECT name, birth_date FROM users WHERE birth_date = (SELECT MIN(birth_date) FROM users);
聚合函数常配合 GROUP BY 对数据分组处理。若需筛选分组后的结果,应使用 HAVI
NG 而不是 WHERE。
示例:
SELECT department, AVG(salary) FROM employees GROUP BY department HAVING AVG(salary) > 5000;基本上就这些。掌握这几个函数,再结合 GROUP BY 和 HAVING,就能完成大多数统计需求。注意别在 WHERE 中直接用聚合函数,那是 HAVING 的职责。








