Funció SQL RANK(). és una funció de finestra que s'utilitza a SQL Server que calcula el rang de cada fila de la conjunt de resultats .
Funció RANK a SQL Server
La funció RANK del servidor SQL s'utilitza per assignar una classificació a cada fila en funció del seu valor.
S'assigna el mateix rang a les files que tenen els mateixos valors. Les classificacions no poden ser consecutives a la Funció RANK(). ja que afegeix el nombre de files repetides al rang repetit per calcular el rang de la fila següent.
Sintaxi
La sintaxi per utilitzar la funció RANK a SQL Server és:
RANK() SOBRE (
[PARTICIÓ PER expressió, ]
expressió ORDER BY (ASC | DESC) );
Nota:
Algunes altres funcions de classificació utilitzades a SQL Server són:
- ROW_NUMBER()
- DENSE_RANK()
- NTILE()
Exemple de funció SQL RANK
Vegem alguns exemples de la funció RANK al servidor SQL per entendre com funciona.
Creem una taula de demostració sobre la qual realitzarem la instrucció RANK. Escriviu les consultes següents per crear una taula 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;>
Sortida
Nom |
---|
A |
B |
B |
C |
C |
D |
I |
En aquest exemple, utilitzarem RANK() per assignar rangs a les files del conjunt de resultats de la taula geek_demo.
Consulta:
SELECT Name, RANK () OVER ( ORDER BY Name ) AS Rank_no FROM geek_demo;>
Sortida -
Nom | Rank_no |
---|---|
A | 1 |
B | 2 |
B | 2 |
C | 4 |
C | 4 |
D | 6 |
I | 7 |
Punts importants sobre la funció SQL RANK
- La funció SQL RANK és una funció de finestra que s'utilitza a SQL Server per calcular una classificació per a cada fila.
- Assigna un rang únic a cada fila dins de la partició, amb buits en els valors de rang si hi ha empats.
- La funció RANK us permet classificar les files en funció d'una columna o d'un conjunt de columnes especificat, proporcionant un ordre clar de precedència dins del conjunt de resultats.
- Quan utilitzem la funció SQL RANK amb clàusula ORDER BY , el conjunt de resultats es retorna amb files ordenades a cada partició on s'aplica la funció RANK.
- S'assigna el mateix rang a les files que tenen els mateixos valors.