SQL RANK()-functie is een vensterfunctie die wordt gebruikt SQL-server dat de rangorde van elke rij van de berekent resultaat ingesteld .
RANK-functie in SQL Server
De RANK-functie in de SQL-server wordt gebruikt om aan elke rij een rang toe te wijzen op basis van de waarde ervan.
Dezelfde rang wordt toegekend aan de rijen met dezelfde waarden. De rangen mogen niet opeenvolgend zijn in de RANK()-functie omdat het het aantal herhaalde rijen optelt bij de herhaalde rangorde om de rangorde van de volgende rij te berekenen.
Syntaxis
De syntaxis voor het gebruik van de RANK-functie in SQL Server is:
RANG() BOVEN (
[PARTITION BY expressie, ]
ORDER BY-expressie (ASC | DESC) );
Opmerking:
Enkele andere rangschikkingsfuncties die in SQL Server worden gebruikt, zijn:
- RIJ NUMMER()
- DENSE_RANK()
- NTILE()
Voorbeeld van SQL RANK-functie
Laten we eens kijken naar enkele voorbeelden van de RANK-functie in de SQL-server om te begrijpen hoe deze werkt.
Laten we een demotabel maken waarop we de RANK-instructie zullen uitvoeren. Schrijf de volgende query's om een tabel geek_demo te maken.
CREATE TABLE geek_demo (Name VARCHAR(10) ); INSERT INTO geek_demo (Name) VALUES ('A'), ('B'), ('B'), ('C'), ('C'), ('D'), ('E'); SELECT * FROM sales.geek_demo;>
Uitvoer
Naam |
---|
A |
B |
B |
C |
C |
D |
EN |
In dit voorbeeld gebruiken we RANK() om rangen toe te wijzen aan de rijen in de resultatenset van de tabel geek_demo.
Vraag:
SELECT Name, RANK () OVER ( ORDER BY Name ) AS Rank_no FROM geek_demo;>
Uitgang –
Naam | Rang_nr |
---|---|
A | 1 |
B | 2 |
B | 2 |
C | 4 |
C | 4 |
D | 6 |
EN | 7 |
Belangrijke punten over de SQL RANK-functie
- De SQL RANK-functie is een vensterfunctie die in SQL Server wordt gebruikt om een rangorde voor elke rij te berekenen.
- Het kent een unieke rang toe aan elke rij binnen de partitie, met hiaten in de rangwaarden als er sprake is van gelijkspel.
- Met de RANK-functie kunt u rijen rangschikken op basis van een opgegeven kolom of reeks kolommen, waardoor een duidelijke prioriteitsvolgorde binnen de resultatenset ontstaat.
- Wanneer we de SQL RANK-functie gebruiken met ORDER BY-clausule , de resultaatset wordt geretourneerd met gesorteerde rijen in elke partitie waarop de RANK-functie wordt toegepast.
- Dezelfde rang wordt toegekend aan de rijen met dezelfde waarden.