oracle+中over关键字,Oracle中over()函数的运用

Oracle中over()函数的使用

oracle中over() 函数用法  ,将自己的研究结果记录一下。

个人理解:over() 函数 是对 分析函数的一种条件解释,直接点就是 给分析函数加条件吧。

例如:

SQL

select deptno,ename,sal,sum(sal) over(partition by deptno) from emp

deptno,ename,sal,sum(sal) over(partition by deptno)

1 8 涂平 4000.00 27000

2 8 涂飞平 5000.00 27000

3 8 tuping 4000.00 27000

4 8 tuping  4000.00 27000

5 8 涂飞平 3000.00 27000

6 8 涂平 4000.00 27000

7 8 ganggang 3000.00 27000

8 32 wuweiling 2000.00 6000

9 32 wuweiling 2000.00 6000

10 32 吴蔚玲 2000.00 6000

注意最后一列,他首先是将所有的部门按编号分类,分类以后,将所有部门号相同的SAL进行累加,然后显示在于该部门号对应的记录后面,例如27000是所有8号部门的工资总和,那么在所有8号部门的该列都是27000

SQL

select deptno,ename,sal,sum(sal) over(order by ename) from emp

1 8 ganggang 3000.00 3000

2 8 tuping  4000.00 7000

3 32 wuweiling 2000.00 11000

4 32 wuweiling 2000.00 11000

5 32 吴蔚玲 2000.00 13000

6 8 涂小3平 5000.00 21000

7 8 涂小3平 3000.00 21000

8 8 涂平 4000.00 29000

9 8 涂平 4000.00 29000

最后一列显示的是按名字进行排序,进行工资累积求和,名字相同人的工资,首先相加,然后再和上一名字人的工资相加。

例如:

ganggang --3000

tuping --4000

加起来等于7000

两个wuweiling 是2000+2000=4000 然后和7000相加=11000,然后显示在wuweiling该行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值