Having 经常与聚合函数和group by 一起使用,用于过滤由group by语句返回的记录集。
having子句与where有相似之处但也有区别,都是设定条件的语句。
HAVING子句可以让我们筛选成分组后的各组数据
HAVING子句在聚合后对组记录进行筛选
而WHERE子句在聚合前先筛选记录.也就是说作用在GROUP BY 子句和HAVING子句前
例如:
– 评选三好学生 条件是至少有两门课程在90分以上才能有资格,列出有资格的学生号及90分以上的课程数列出有资格的学生。
select s_id ,count(*) from student where score>90
group by s_id having count(*)>=2;