Función RANK() en SQL Server

La función RANK() es una función de ventana que podría usarse en SQL Server para calcular un rango para cada fila dentro de una partición de un conjunto de resultados. 

Se asigna el mismo rango a las filas de una partición que tienen los mismos valores. El rango de la primera fila es 1. Los rangos pueden no ser consecutivos en la función RANK() ya que agrega el número de filas repetidas al rango repetido para calcular el rango de la siguiente fila. 

Sintaxis: 
 

RANK() OVER (
   [PARTITION BY expression, ]
   ORDER BY expression (ASC | DESC) );

Ejemplo: 
creemos una tabla geek_demo que solo tiene la columna Nombre: 

CREATE TABLE geek_demo (Name VARCHAR(10) );

Ahora, inserte algunas filas en la tabla sales.rank_demo: 
INSERT INTO geek_demo (Nombre) 

VALUES('A'), ('B'), ('B'), ('C'), ('C'), ('D'), ('E');

Seleccione datos de la tabla geek_demo: 
 

SELECT * 
FROM sales.geek_demo; 
Nombre
A
B
B
C
C
D
mi

Usemos RANK() para asignar rangos a las filas en el conjunto de resultados de la tabla geek_demo: 

SELECT Name, 
RANK () OVER (
ORDER BY Name
) AS Rank_no 
FROM geek_demo;

Producción – 

Nombre Rank_no
A 1
B 2
B 2
C 4
C 4
D 6
mi 7

Publicación traducida automáticamente

Artículo escrito por khushboogoyal499 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *