设为首页 加入收藏

TOP

oracle分组查询
2015-11-21 02:01:18 来源: 作者: 【 】 浏览:0
Tags:oracle 分组 查询

分组函数
在分组函数中,如果有一个查找项分组,其他项必须也分组,比如下面的语句会报错,因为sal分组了,而ename没有分组:

这里写图片描述

1.显示工资最高的员工:
这里写图片描述

2.显示所有员工的平均工资:
2.1使用系统函数:

这里写图片描述
2.2自定义计算:<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxpbWcgYWx0PQ=="这里写图片描述" src="https://www.cppentry.com/upload_files/article/57/1_ivsea__.png" title="\" />

3.显示工资高于平均工资的员工信息:

这里写图片描述

对查询结果进行分组统计:

4.查询每个部门的最高工资和平均工资:

这里写图片描述

5.显示每个部门的每种岗位的平均工资与最高工资:

这里写图片描述

6.显示平均工资低于2000的部门号和它的平均工资:

这里写图片描述

对数据分组的总结

1 分组函数只能出现在选择列表、having、order by子句中(不能出现在where中)
2 如果在select语句中同时包含有group by, having, order by 那么它们的顺序是group by, having, order by
3 在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须有一个出现在group by 子句中,否则就会出错。
如SELECT deptno, AVG(sal), MAX(sal) FROM emp GROUP by deptno HAVING AVG(sal) < 2000;
这里deptno就一定要出现在group by 中

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle的SQL优化二 下一篇Oracle学习(4):分组函数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: