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该行。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值