sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo usar RANK() en SQL Server

Cambiar:

RANK() OVER (PARTITION BY ContenderNum ORDER BY totals ASC) AS xRank

a:

RANK() OVER (ORDER BY totals DESC) AS xRank

Echa un vistazo a este ejemplo:

DEMOSTRACIÓN de violín SQL

También es posible que desee ver la diferencia entre RANK (Transact-SQL) y DENSE_RANK (Transact-SQL):

RANGO (Transact SQL)

Si dos o más filas empatan en un rango, cada fila empatada recibe el mismo rango. Por ejemplo, si los dos mejores vendedores tienen el mismo valor de VentasYTD, ambos se clasifican como uno. El vendedor con las siguientes ventas más altas YTD ocupa el puesto número tres, porque hay dos filas que están clasificadas más arriba. Por lo tanto, la función RANK no siempre devuelve enteros consecutivos.

RANGO_DENSO (Transact SQL)

Devuelve la clasificación de las filas dentro de la partición de un conjunto de resultados, sin espacios en la clasificación. El rango de una fila es uno más el número de rangos distintos que vienen antes de la fila en cuestión.