测试使用的数据为scott/tiger模式下的emp表: 我们使用JOB和SAL这两个列测试: 上面语句指按照职业JOB分组(partition by job)然后在每个分组内,按照薪水(sal)进行排名.注意到并列名次,例如SLAESMAN这个职业的,有两个1250并列第一,1500就是第3名了. 将RANK()换成DENSE_RAND看看区别: 可以看到,在处理并列问题上,并列的名次不占用名次编号. 另外还有一个常用的分析函数是SUM() OVER: SUM() OVER计算累计求和,从第一…