首页 > 数据库技术 > 详细

oracle over 函数几个例子

时间:2015-04-12 22:28:08      阅读:222      评论:0      收藏:0      [点我收藏+]

测试使用的数据为scott/tiger模式下的emp表:

技术分享

我们使用JOB和SAL这两个列测试:

技术分享

上面语句指按照职业JOB分组(partition by job)然后在每个分组内,按照薪水(sal)进行排名。注意到并列名次,例如SLAESMAN这个职业的,有两个1250并列第一,1500就是第3名了。

将RANK()换成DENSE_RAND看看区别:

技术分享

可以看到,在处理并列问题上,并列的名次不占用名次编号。

另外还有一个常用的分析函数是SUM() OVER:

技术分享

SUM() OVER计算累计求和,从第一行开始,累计SAL列的值,注意到order by sal,如果不按照sal排序,结果会是这样:

技术分享

如果要针对每个分组进行分别累计求和,则只需加上分区PARTITION BY:

技术分享

oracle over 函数几个例子

原文:http://www.cnblogs.com/zheng-hong-bo/p/4420789.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!