having和where的区别
(1) where是查询的条件, having是分组统计的条件.
举个例子,有如下一张 学生选修课表
学号 课程号 学期号
1 2 1
1 3 1
1 5 2
2 3 2
2 5 2
3 2 2
我们要查询2学期每个学生选了多少课直接用
select 学号, Count(课程号)
from 表
where 学期号=2
group by 学号
如果我们要查2学期选了两门课以上的学生学号,就要在分组中加条件了
select 学号
from 表
where 学期号=2
group by 学号
having count(课程)>1
(2)