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.