Probleem:
U wilt records rangschikken door rangschikkingsposities over te slaan na rijen met dezelfde rangorde.
Voorbeeld:
Onze database heeft een tabel met de naam championship met gegevens in de volgende kolommen:id (primaire sleutel), user_name , en score .
| id | gebruikersnaam | score |
| 111 | Jan | 12 |
| 112 | Maria | 23 |
| 115 | Lisa | 45 |
| 120 | Alan | 23 |
| 221 | Chris | 23 |
Laten we de namen van alle gebruikers en hun scores weergeven, gesorteerd in aflopende volgorde en gerangschikt op score.
Oplossing 1:
SELECT RANK() OVER(ORDER BY score DESC) AS rank_place, user_name, score FROM championship;
Deze zoekopdracht levert de volgende rangorde op:
| rank_place | gebruikersnaam | score |
| 1 | Lisa | 45 |
| 2 | Maria | 23 |
| 2 | Alan | 23 |
| 2 | Chris | 23 |
| 5 | Jan | 12 |
Merk op dat het rangnummer van 1 tot 5 is, gesorteerd op score in aflopende volgorde.
Discussie:
Gebruik RANK als u rangschikkingsposities wilt overslaan na rijen met dezelfde rangorde. In ons voorbeeld hadden Mary, Alan en Chris allemaal dezelfde rangorde van 2. De volgende in aanmerking komende positie is 5 (berekend uit 2 + 3 rijen met dezelfde rangorde).