SQL RANK() funksjon er en vindusfunksjon som brukes i SQL Server som beregner rangeringen av hver rad i resultatsett .
RANK-funksjon i SQL Server
RANK-funksjonen i SQL-serveren brukes til å tilordne en rangering til hver rad basert på verdien.
Samme rangering tildeles radene som har samme verdier. Rekkene kan ikke være fortløpende i RANK() funksjon som den legger til antall gjentatte rader til den gjentatte rangeringen for å beregne rangeringen til neste rad.
java sortering arraylist
Syntaks
Syntaksen for å bruke RANK-funksjonen i SQL Server er:
RANK() OVER (
[PARTISERING ETTER uttrykk, ]
ORDER BY uttrykk (ASC | DESC) );
Merk:
Noen andre rangeringsfunksjoner som brukes i SQL Server er:
- ROW_NUMBER()
- DENSE_RANK()
- NTILE()
Eksempel på SQL RANK-funksjon
La oss se på noen eksempler på RANK-funksjonen i SQL-serveren for å forstå hvordan den fungerer.
La oss lage en demotabell der vi skal utføre RANK-setningen. Skriv følgende spørringer for å lage en tabell geek_demo.
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;>
Produksjon
tostring-metoden
Navn |
---|
EN |
B |
B |
C |
C |
D |
OG |
I dette eksemplet vil vi bruke RANK() for å tildele rangeringer til radene i resultatsettet til geek_demo-tabellen.
Spørsmål:
SELECT Name, RANK () OVER ( ORDER BY Name ) AS Rank_no FROM geek_demo;>
Utgang –
Navn | Rank_no |
---|---|
EN | 1 |
B | 2 |
B | 2 |
C | 4 |
C | 4 |
D | 6 |
OG | 7 |
Viktige punkter om SQL RANK-funksjonen
- SQL RANK-funksjonen er en vindusfunksjon som brukes i SQL Server for å beregne en rangering for hver rad.
- Den tildeler en unik rangering til hver rad i partisjonen, med hull i rangeringsverdier hvis det er uavgjort.
- RANK-funksjonen lar deg rangere rader basert på en spesifisert kolonne eller et sett med kolonner, og gir en klar prioritetsrekkefølge i resultatsettet.
- Når vi bruker SQL RANK-funksjonen med ORDER BY klausul , resultatsettet returneres med sorterte rader i hver partisjon der RANK-funksjonen brukes.
- Samme rangering tildeles radene som har samme verdier.