Resumen: En este tutorial, aprenderá a usar SQL Server RANK()
function para calcular un rango para cada fila dentro de una partición de un conjunto de resultados.
Introducción a la función RANK() de SQL Server
la función RANK()
es una función de ventana que asigna un rango a cada fila dentro de una partición de un conjunto de resultados.
Las filas dentro de una partición que tienen los mismos valores recibirán el mismo rango. El rango de la primera fila dentro de una partición es uno., La función RANK()
agrega el número de filas empatadas al rango empatado para calcular el rango de la siguiente fila, por lo tanto, los rangos pueden no ser consecutivos.
lo siguiente muestra la sintaxis de la función RANK()
:
en esta sintaxis:
- Primero, la cláusula
PARTITION BY
divide las filas de las particiones del conjunto de resultados a las que se aplica la función. - En segundo lugar, la cláusula
ORDER BY
especifica el orden lógico de las filas en cada una de las particiones a las que se aplica la función.,
la función RANK()
es útil para los informes top-N y bottom-N.,»>
segundo, inserte algunas filas en la tabla sales.rank_demo
:
Code language: SQL (Structured Query Language) (sql)
tercero, consulte los datos de la tabla sales.rank_demo
:
Code language: SQL (Structured Query Language) (sql)
cuarto, use el ROW_NUMBER()
para asignar rangos a las filas en el conjunto de resultados de sales.rank_demo
tabla:
Code language: SQL (Structured Query Language) (sql)
Aquí está la salida:
como se muestra claramente en la salida, la segunda y tercera filas reciben el mismo rango porque tienen el mismo valor B., Las filas cuarta y Quinta obtienen el rango 4 porque la función RANK()
omite el rango 3 y ambas también tienen los mismos valores.,iv id=»6657ab2abb»>
function:
Using SQL Server RANK() function over a result set example
«6657ab2abb»>
función para asignar rangos a los productos por sus precios de Lista:
Aquí está el conjunto de resultados:
en este ejemplo, porque nos saltamos ID=»1aa89e3821″>
clause, the RANK()
function treated the whole result set as a single partition.,
la función RANK()
asigna un rango a cada fila dentro del conjunto de resultados ordenados por precio de Lista de alto a bajo.,
usando la función SQL Server RANK() sobre particiones ejemplo
Este ejemplo utiliza la función RANK()
para asignar un rango a cada producto por precio de lista en cada marca y devuelve productos con rango menor o igual a tres:
la siguiente imagen muestra la salida:
en este ejemplo:
- Primero, la cláusula
PARTITION BY
divide los productos en particiones por ID de marca., - En segundo lugar, la cláusula
ORDER BY
ordena los productos en cada partición por precios de Lista. - En tercer lugar, la consulta externa devuelve los productos cuyos valores de rango son menores o iguales a tres.
la función RANK()
se aplica a cada fila en cada partición y se reinicia al cruzar el límite de la partición.
en este tutorial, ha aprendido a usar la función SQL Server RANK()
para asignar un rango a cada fila dentro de una partición de un conjunto de resultados.