SQL RANK() funktion er en vinduesfunktion, der bruges i SQL Server der beregner rangeringen af hver række af resultatsæt .
RANK funktion i SQL Server
RANK-funktionen i SQL-serveren bruges til at tildele en rang til hver række baseret på dens værdi.
Den samme rang tildeles de rækker, der har samme værdier. Rækkerne er muligvis ikke fortløbende i RANK() funktion da den tilføjer antallet af gentagne rækker til den gentagne rangorden for at beregne rangeringen af den næste række.
java sort arraylist
Syntaks
Syntaksen for at bruge RANK-funktionen i SQL Server er:
RANK() OVER (
[OPDELING EFTER udtryk, ]
ORDER BY udtryk (ASC | DESC) );
Bemærk:
Nogle andre Rank-funktioner, der bruges i SQL Server, er:
- ROW_NUMBER()
- DENSE_RANK()
- NTILE()
Eksempel på SQL RANK-funktion
Lad os se på nogle eksempler på RANK-funktionen i SQL-serveren for at forstå, hvordan den fungerer.
Lad os oprette en demo-tabel, hvorpå vi udfører RANK-sætningen. Skriv følgende forespørgsler for at oprette en tabel 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;>
Produktion
tostring metode
Navn |
---|
EN |
B |
B |
C |
C |
D |
OG |
I dette eksempel vil vi bruge RANK() til at tildele rækker til rækkerne i resultatsættet af tabellen geek_demo.
Forespørgsel:
SELECT Name, RANK () OVER ( ORDER BY Name ) AS Rank_no FROM geek_demo;>
Output –
Navn | Rank_nr |
---|---|
EN | 1 |
B | 2 |
B | 2 |
C | 4 |
C | 4 |
D | 6 |
OG | 7 |
Vigtige punkter om SQL RANK-funktionen
- SQL RANK-funktionen er en vinduesfunktion, der bruges i SQL Server til at beregne en rang for hver række.
- Den tildeler en unik rang til hver række i partitionen med huller i rangværdier, hvis der er ligheder.
- RANK-funktionen giver dig mulighed for at rangere rækker baseret på en specificeret kolonne eller et sæt af kolonner, hvilket giver en klar rækkefølge inden for resultatsættet.
- Når vi bruger SQL RANK-funktionen med ORDER BY klausul , resultatsættet returneres med sorterede rækker i hver partition, hvor RANK-funktionen anvendes.
- Den samme rangering tildeles de rækker, som har de samme værdier.