oracle联合分组查询,oracle分组查询

分组函数

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

86748be7b3227475741c2d058c1f4db4.png

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

1ed6d23438831728c856ccd5d67b3fd3.png

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

2.1使用系统函数:

e994a6ffd000ee8db8a6153d33b68b93.png

2.2自定义计算:

10dffe790e119b6ad8177e1e55567876.png

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

3ecee2ec42f07d74084ea7b4fa2a8de4.png

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

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

e091be5f89f62df8edc729493e0d092e.png

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

7b5ac8d822aa43c154eb268bf642a090.png

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

9dc7dd7e67e590f9ca25c7fb972b70e1.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 中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值