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



猜你喜欢

转载自blog.csdn.net/likunyv/article/details/79158216