mysql中having的用法
来源:互联网 发布:python 函数定义输出 编辑:程序博客网 时间:2024/06/09 16:07
mysql中,当我们用到聚合函数,如sum,count后,又需要筛选条件时,having就派上用场了,因为WHERE是在聚合前筛选记录的,having和group by是组合着用的,下面通过实例介
还是已员工绩效表为例
我们如果就是查询每个部门成绩大于89的员工数,可以这样写:
SELECT dept,COUNT(user_name) FROM ec_uses WHERE score>89 GROUP BY dept;
对这个查询的过程进行分析,其实是:先查出绩效成绩大于89的员工记录,然后再用count聚合函数统计部门的人数,也就是说where是在聚合之前筛选记录的,那么如果我们要在聚合之后筛选记录该如何处理呢?
例如,在上面的基础上再加一个条件,查询部门人数大于1的部门
那么我们是先要统计出每个部门的人数,也就是要用count聚合函数,然后再看哪些部门的人数是多于1人的
也就是筛选条件是在聚合之后的,这时where已不能满足使用,我们就需要用到having了
sql:
SELECT dept,COUNT(user_name) count_tmp FROM ec_uses GROUP BY dept HAVING count_tmp>1;
看执行结果
- 所以having子句对我们筛选分组后的数据非常方便
- 值得注意的是having后面跟的条件判断的字段必须是聚合函数返回的结果,否则sql会报错,例如:
SELECT dept,COUNT(user_name) count_tmp FROM ec_uses GROUP BY dept HAVING score>1;
阅读全文
0 0
- mysql 中having的用法
- mysql中having的用法
- MYSQL having的用法
- mysql having的用法
- mysql having的用法
- mysql having的用法
- mysql中having的用法(和where的区别)
- mysql中having的用法(和where的区别)
- Mysql中group by having 用法需要注意的事项
- mysql中using() having where 的用法区别
- sql中having的用法
- Mysql group by以及having的用法
- mysql Having用法
- Mysql having用法
- mysql having用法
- SQL中HAVING从句的用法
- SQL中HAVING从句的用法
- mysql中having语句与where语句的用法与区别, 对数据分组的总结
- 用栈实现图的深度优先搜索Java实现
- HUD.2544 最短路 (Dijkstra)
- HDU2717 Catch That Cow BFS
- jvm 之 内存溢出场景模拟
- LSTM GRU 得到所有的state 而不是最后一个state
- mysql中having的用法
- COGS 2487 膜法师
- 写文章 JS找两个数组中的相同元素【算法】
- c++ 七月六日课堂记录
- jvm 之 垃圾标记算法
- OpenCV3.2.0(CMake后)在VS2012下编译生成VS2012 SDK开发包
- spring 对事务的支持
- Ubuntu安装谷歌浏览器(15.04版本,deb亲试成功)
- Python中字符串