语法
select 字段列表 from 表名 【where 条件】group by 分组的字段 【having 分组后过滤的条件】 ;
where和having的区别
1.两者执行时机不同:where是分组前过滤,having是分组后过滤。
2.判断条件不同:where不能对集合函数进行判断,而having可以。
例:
查询出年龄小于40并且并且该地址员工数大于100的地址
select address,count(*) as total from staff where age<40 group by address having count(*)>100
注意
分组后,查询字段一般为聚合函数和分组字段,查询其他字段无意义
where和having的执行顺序
先where后having