首页 > 技术文章 > group by&having&where

thomasbc 2017-04-01 18:48 原文

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

推荐阅读