where 与 having只能在group by分组中同时出现。where子句的作用是在对查询结果进行分组之前,对不符合where条件的记录行过滤掉。即在分组之前过滤掉数据,而且where条件中不能包含聚合函数,使用聚合函数过滤特定的数据行;having子句的作用在查询的结果进行分组之后执行的,即在分组之后过滤数数据,条件中经常包含聚合函数,使用having条件过滤出特定的组,也可以使用多个分组标准进行分组。

     其实,可以根据sql的执行顺序来进行区分。 

select Name,sum(Score)    3 
from Scores               1     
where Score>80            2
group by Name             4
having sum(Score)>250     5

  

 posted on 2014-04-29 20:11  会飞的金鱼  阅读(117)  评论(0)    收藏  举报