測試使用的數據爲scott/tiger模式下的emp表:函數
咱們使用JOB和SAL這兩個列測試:測試
上面語句指按照職業JOB分組(partition by job)而後在每一個分組內,按照薪水(sal)進行排名。注意到並列名次,例如SLAESMAN這個職業的,有兩個1250並列第一,1500就是第3名了。spa
將RANK()換成DENSE_RAND看看區別:3d
能夠看到,在處理並列問題上,並列的名次不佔用名次編號。blog
另外還有一個經常使用的分析函數是SUM() OVER:排序
SUM() OVER計算累計求和,從第一行開始,累計SAL列的值,注意到order by sal,若是不按照sal排序,結果會是這樣:it
若是要針對每一個分組進行分別累計求和,則只需加上分區PARTITION BY:io