having是用在聚合函数的用法。当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算。运算完后就要用到HAVING 的用法了,就是进行判断了。
注意:select 后的字段,必须要么包含在group by中,要么包含在having 后的聚合函数里。
having 用法与WHERE用法类似,但有三点不同
1、HAVING只用于GROUP BY(分组统计语句),
2、WHERE 是用于在初始表中筛选查询,HAVING用于在WHERE和GROUP BY 结果中查询。
3、HAVING可以使用聚合函数,而WHERE 不能。
下面的语句统计用户表中姓名为“李”(WHERE子句定义),出现多于一次(having 用聚合函数COUNT(1)定义)的人的用户
SELECT USERCODE,username=max(username),次数=count(1) from usertable where username like '李%' group by usercode having count(1)>1
常见的几个聚合函数
1、 求个数:count
2、 求总和:sum
3、 求最大值:max
4、 求最小值:min
5、 求平均值:avg