group by&having&where

select count(*) as '总数'  from  student where sex='男' group by sid having age>20

现在不管该失去了是否正确,就是让你明确 group by&having&where三者可以一起使用

 

下面要讨论一下三者的执行顺序:

1.执行where查找符合条件的数据

2.使用group by分组

3.用having去掉不符合的组

从上面可以看出having限制的是组,

where不能使用聚合函数,而having可以,比如having  avg(age)>20

posted @ 2017-04-01 18:48  托马斯骨头收集  阅读(257)  评论(0编辑  收藏  举报