oracle部门分组员工平均工资,oracle分组查询

分组函数

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

3635eef4b8b29c75cc11980d9e7df242.png

1.显示工资最高的员工:

353156416e7435bd038f9fa1c4ac0f0f.png

2.显示所有员工的平均工资:

2.1使用系统函数:

351bf9d776e19850c7e9008bd73a056c.png

2.2自定义计算:

0764445327eda04a24b6b3e0f3b8be3c.png

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

915f7596c8de7552c664e4fdbcb07486.png

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

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

0f2873425eb343d1faf311025204e60a.png

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

ce308be1d80b493b9eeb1a4c6c7e8da4.png

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

c2a8b27cd6d52853677982e20bdc3066.png

对数据分组的总结

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分组查询

标签:oracle   数据查询   分组查询

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:http://blog.csdn.net/u012702547/article/details/46681389