本篇文章将讲解 MySQL 中常用的 聚合函数(Aggregate Functions) 和 分组查询(GROUP BY),帮助你对数据进行统计分析。
目录
- 聚合函数简介
- 常用聚合函数
- [GROUP BY 分组查询](#GROUP BY 分组查询)
- [HAVING 条件过滤分组](#HAVING 条件过滤分组)
- 聚合函数常用示例对照表
- 小结
聚合函数简介
聚合函数用于对一组数据进行计算,并返回单一值。常用于统计、分析和报表场景。
MySQL 常用的聚合函数包括:
COUNT()
:计数SUM()
:求和AVG()
:平均值MAX()
:最大值MIN()
:最小值
常用聚合函数
1. COUNT()
计算行数或某列非 NULL 值的数量:
sql
SELECT COUNT(*) FROM users;
SELECT COUNT(age) FROM users;

2. SUM()
计算数值列的总和:
sql
SELECT SUM(age) FROM users;

3. AVG()
计算数值列的平均值:
sql
SELECT AVG(age) FROM users;

4. MAX() 与 MIN()
查询最大值或最小值:
sql
SELECT MAX(age) FROM users;
SELECT MIN(age) FROM users;

GROUP BY 分组查询
GROUP BY
将数据按指定列分组,并对每组进行聚合计算。例如:
sql
SELECT city, COUNT(*) AS user_count
FROM users
GROUP BY city;
按城市统计用户数量。
HAVING 条件过滤分组
HAVING
用于对分组后的结果进行条件过滤,类似于 WHERE
但作用于聚合结果:
sql
SELECT city, COUNT(*) AS user_count
FROM users
GROUP BY city
HAVING user_count > 5;
只返回用户数量大于 5 的城市。
聚合函数常用示例对照表
功能 | SQL 示例 | 说明 |
---|---|---|
计数 | SELECT COUNT(*) FROM users; |
返回总行数 |
求和 | SELECT SUM(age) FROM users; |
返回年龄总和 |
平均值 | SELECT AVG(age) FROM users; |
返回平均年龄 |
最大值 | SELECT MAX(age) FROM users; |
返回最大年龄 |
最小值 | SELECT MIN(age) FROM users; |
返回最小年龄 |
分组计数 | SELECT city, COUNT(*) FROM users GROUP BY city; |
按城市分组计数 |
分组过滤 | SELECT city, COUNT(*) FROM users GROUP BY city HAVING COUNT(*)>5; |
分组后筛选 |
小结
本篇文章介绍了 MySQL 中 聚合函数 和 分组查询 的基础知识。掌握这些技能,你就可以轻松统计、分析数据,为数据报表和分析提供支持。
📘 下一篇,我们将学习 MySQL 子查询与嵌套查询,带你掌握更复杂的查询操作。