本文共 551 字,大约阅读时间需要 1 分钟。
having和where一样都是筛选条件的,where分组前筛选,having是分组后筛选
在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。
1.从表table中查找所有name,并按name进行分组。分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。select name from stu GROUP BY name
2.按name对表table进行分组后,查找最小score大于80分的name。一个name里面有很多门科目,每门科目的分数都要大于50分,即查询每门课程分数都大于50的学生姓名
select name from stu GROUP BY name having min(score) >50
3.查找只要有一门分数大于50的学生,按照name进行分组
select name from stu where score > 50 GROUP BY name
4.查询每门课程分数都大于60 的学生信息
select * from stu where name in (select name from stu group by name having min(score)>60)
转载地址:http://kattf.baihongyu.com/