在oracle中使用having关键字来限制你的分组结果
来源:互联网 发布:php后端技术架构 编辑:程序博客网 时间:2024/05/14 13:48
在oracle中使用having关键字来限制你的分组结果
前面我们介绍了,使用oracle的聚合函数和group by关键字来对结果集合进行分组,这时就有了一个新的问题,例如,我们针对聚合函数那一列需要找到满足条件的那些分组结果。我们可以使用where子句吗?不行,我们需要的是使用having关键字。
例如我们需要找出那些平均工资在$2000以上的部门。使用having关键字的写法是:
Select deptno,avg(sal) avg_sal
From emp
Group by deptno
Having avg(sal) > 2000;
这样就可求出正确的结果
如果你使用的是
Select deptno,avg(sal) avg_sal
From emp
Group by deptno
where avg(sal) > 2000;
将会出现ORA-00934的错误。
关于oracle的having 关键字有一点要说明就是不可以是在having 使用聚合函数的别名,例如
Select deptno,avg(sal) avg_sal
From emp
Group by deptno
Having avg_sal > 2000;
将会出现:ORA-00904: “AVG_SAL”: 无效的标识符的错误。
当然having关键词只能用在处理聚合函数的结果,不可以用在普通列中。
前面给出的例子的结果:
SQL> Select deptno,avg(sal) avg_sal
2 From emp
3 Group by deptno
4 Having avg(sal) > 2000;
DEPTNO AVG_SAL
———- ———-
10 2916.66667
20 2235
- 在oracle中使用having关键字来限制你的分组结果
- 在oracle的聚合函数(sum、avg等)中使用group by来分组你的结果
- mysql 对表数据进行求和分组并在结果中筛选符合条件的数据 having group by count
- 如何在oracle中限制返回结果集的大小
- 在group by 中使用HAVING筛选结果
- oracle中having子句的使用
- Having 对分组结果筛选
- 在Oracle中使用关键字
- 使用in关键字来限制SQL语句中的select查询结果
- 如何在oracle和Mysql中限制返回结果集的大小
- 在oracle中where 子句和having子句的区别
- 详解在group by分组查询中where 和 having的用法和区别。
- Oracle中rownum在结果集中排序的使用
- 在oracle的连接(join)中使用using关键字
- 在oracle的连接(join)中使用using关键字
- 在oracle的连接(join)中使用using关键字
- [Oracle SQL] 使用rollup分组统计按统计结果分组排序显示的问题
- 【Oracle】Having关键字的使用,删除重复数据但保留一条
- Android4.0 Launcher 源码分析系列(一)
- Java_WebService应用举例
- 防止 gdi 泄露
- C++中的vector使用范例 <转自tjh666>
- 24.是考虑多平台的时候了——桥接模式
- 在oracle中使用having关键字来限制你的分组结果
- GlusterFS Translator API介绍
- 图片-字符串互转
- 寻找第K大的数的方法总结
- About IndexDB
- java 空引用问题值得注意
- 通过lambda给signal关联的函数传递参数
- 工作流
- jQuery Validation Engine 表单验证