1. 程式人生 > >Oracle的排序函式

Oracle的排序函式

下面介紹Oracle的三種排序函式:

1,ROW_NUMBER() OVER(PARTITION BY col1 ORDER BY col2)

2,RANK() OVER(PARTITION BY col1 ORDER BY col2)

3,DENSE_RANK() OVER(PARTITION BY col1 ORDER BY col2)

相同點:根據col1分組,在分組內部根據col2排序

不同點:ROW_NUMBER組內連續且唯一,RANK跳躍排序,DENSE_RANK連續排序

例子:

ROW_NUMBER排序:

張三 100 1

李四 98 2

王五 98 3

趙六 90 4

孫七 80 5  

RANK排序:

張三 100 1

李四 98 2

王五 98 2

趙六 90 4

孫七 80 5

DENSE_RANK排序:

張三 100 1

李四 98 2

王五 98 2

趙六 90 3

孫七 80 4