当有多个数据具有相同的值时,Oracle的rank()函数会为它们分配相同的排名,然后跳过下一个排名。例如,如果有3个数据具有相同的值,它们将会获得相同的排名,然后下一个数据将会获得比它们的排名更高的值。
例如,如果有以下数据:
姓名 | 分数 |
---|---|
A | 90 |
B | 85 |
C | 80 |
D | 75 |
E | 75 |
使用rank()函数时,排名会按照分数的高低进行排名。在这个例子中,D和E两个数据具有相同的分数(75),它们将会获得相同的排名(4),然后下一个数据将会获得排名5。
因此,最终的排名结果如下:
姓名 | 分数 | 排名 |
---|---|---|
A | 90 | 1 |
B | 85 | 2 |
C | 80 | 3 |
D | 75 | 4 |
E | 75 | 4 |