當有多個數據具有相同的值時,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 |