MySQL如何统计:从基础查询到高级聚合的完整指南
MySQL中统计数据的核心方法是使用聚合函数结合GROUP BY、WHERE等子句,对数据库中的信息进行汇总计算。
最基础的统计可通过SELECT语句搭配聚合函数实现,

- COUNT() 用于统计行数,如统计用户总数:
SELECT COUNT(*) FROM users;
- SUM()、AVG()、MAX()、MIN() 可分别计算总和、平均值、最大值和最小值,适用于数值型数据统计。
若需分组统计,GROUP BY 是关键,例如按部门统计员工数量:
SELECT department, COUNT(*) FROM employees GROUP BY department;
结合 HAVING 子句还能对分组结果筛选,如筛选员工数超过10人的部门:
SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 10;
对于复杂统计,可嵌套使用子查询或窗口函数(MySQL 8.0+支持),例如计算每个部门的薪资排名:
SELECT name, department, salary,
RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS rank
FROM employees;
条件统计可通过CASE WHEN实现,如统计不同薪资段的员工数量:
SELECT SUM(CASE WHEN salary < 5000 THEN 1 ELSE 0 END) AS low_salary, SUM(CASE WHEN salary BETWEEN 5000 AND 10000 THEN 1 ELSE 0 END) AS mid_salary FROM employees;
优化统计查询性能需注意:为常用筛选字段添加索引,避免全表扫描;大量数据时考虑分批次统计或使用近似统计函数(如APPROX_COUNT_DISTINCT),通过灵活组合这些方法,MySQL能够高效应对从简单计数到多维分析的各类统计需求。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/7623.html发布于:2026-07-29





