logo

Funció RANK() a SQL Server

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:

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.