分组
- 按照字段分组,表示此字段相同的数据回被放到一个组中
- 分组后,只能查询出相同的数据列
- 可以对分组后的数据进行统计,做聚合运算
- 语法:
select 列1,列2,聚合... from 表名 group by 列1,列2,列3...
- 查询男女生总数
select gender,count(*) from students group by gender;
分组后进行筛选
- 查询
select gender,count(*) from students group by gender;
- 查询男女生总数
select gender,count(*) from students group by gender;
- 分组后筛选 gender=0
select gender,count(*) from students group by gender having gender=0;
起别名:
select gender,count(*) as rs from students group by gender having rs>2;
where和having区别
都是筛选,面向的数据集不一样的。
- where是对原始数据集进行筛选
- having是对group by之后形成的结果集进行筛选