SQL RANK() funktion är en fönsterfunktion som används i SQL Server som beräknar rangen för varje rad i resultatet satt .
RANK-funktion i SQL Server
RANK-funktionen i SQL-servern används för att tilldela en rangordning till varje rad baserat på dess värde.
Samma rang tilldelas de rader som har samma värden. Leden kanske inte är på varandra följande i RANK() funktion eftersom den lägger till antalet upprepade rader till den upprepade rankningen för att beräkna rankningen för nästa rad.
Syntax
Syntaxen för att använda RANK-funktionen i SQL Server är:
RANK() ÖVER (
[PARTITION BY expression, ]
ORDER BY expression (ASC | DESC) );
Notera:
Några andra Rank-funktioner som används i SQL Server är:
- ROW_NUMBER()
- DENSE_RANK()
- NTILE()
Exempel på SQL RANK-funktion
Låt oss titta på några exempel på RANK-funktionen i SQL-servern för att förstå hur den fungerar.
Låt oss skapa en demotabell där vi kommer att utföra RANK-satsen. Skriv följande frågor för att skapa 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;>
Produktion
namn |
---|
A |
B |
B |
C |
C |
D |
OCH |
I det här exemplet kommer vi att använda RANK() för att tilldela rankningar till raderna i resultatuppsättningen av tabellen geek_demo.
Fråga:
SELECT Name, RANK () OVER ( ORDER BY Name ) AS Rank_no FROM geek_demo;>
Utgång –
namn | Rank_no |
---|---|
A | 1 |
B | 2 |
B | 2 |
C | 4 |
C | 4 |
D | 6 |
OCH | 7 |
Viktiga punkter om SQL RANK-funktionen
- SQL RANK-funktionen är en fönsterfunktion som används i SQL Server för att beräkna en rankning för varje rad.
- Den tilldelar en unik rangordning till varje rad inom partitionen, med luckor i rangvärden om det finns liknande.
- RANK-funktionen låter dig rangordna rader baserat på en specificerad kolumn eller uppsättning kolumner, vilket ger en tydlig prioritetsordning inom resultatuppsättningen.
- När vi använder SQL RANK-funktionen med ORDER BY klausul , resultatuppsättningen returneras med sorterade rader i varje partition där RANK-funktionen används.
- Samma rang tilldelas de rader som har samma värden.