在mysql中,当我们使用了聚合函数(如sum、count)后,又需要对结果进行筛选时,having就用上了(因为where是在聚合函数之前筛选记录用的),另外having是和group by组合使用的。
实例
查询四川省人口数大于600的城市。
设计数据库如下
分步查询
1.查询出四川省各个城市的人口,使用group by
2.在结果中过滤人口数大于600的记录
SELECT tps.area,tps.population FROM t_province_sc tps GROUP BY tps.area HAVING tps.population > 600
mysql中having与where的区别
1.它们都可以实现过滤
2.having可以实现过滤去重,where只是单纯的过滤