group by 使用方法
group by:通过一定规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。
一般having 语句会配合group by 语句进行使用,having语句对分组进行过滤。
where 语句 过滤指定的是列而不是分组,不能在聚合函数中使用。
返回集字段,要么包含在group by语句的后面作为分组的依据,要么就要被包含在聚合函数中。
因为group by是多条记录的结果,如果返回集字段不是分组依据或者聚合函数的话。
group by 先排序后分组
where + group by + having + 聚合函数
1. 执行where子句查找符合条件的数据
2. 执行group by 分组
3. 执行聚合函数
4. 执行having 筛选
select class from courses group by class having count(distinct student) >=5;