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)

 

 

 

 

 

 

 

 

posted @ 2014-04-28 13:29  a12436109  阅读(180)  评论(0编辑  收藏  举报