过滤操作针对"行",分组操作针对"集合"。MySQL 通过 GROUP BY 子句将数据按指定列划分为若干组,再对每组应用聚合函数,实现"分片统计"。本章依次介绍基础分组、分组聚合及 HAVING 过滤三组语法,帮助读者在单表内完成"按省统计人数""按名统计重复度"等常见汇总需求。
基础分组:
语法:select *from 数据表名 group by 字段名;
sql
select province from star group by province;
示例:

分组统计:
语法:select count(字段名), 字段名 from 数据表名 group by 字段名;
sql
select count(*)as 数量,province from star group by province;
示例:

结果集过滤:
语法:select count(*) as result,字段 from 数据表名字 group by 字段 having 条件;
sql
select count(*) as result,name from star group by name having result >=2;
示例:

总结:
请按文中示例依次执行:基础分组 → 分组计数 → HAVING 过滤,对比三步结果集差异,亲手验证"分组后聚合"与"聚合后过滤"的顺序关系。熟练后,即可进入下一章,学习如何使用 UPDATE 对现有数据进行安全修改。