DataBoosters
SQL
Saltar+6 XP

TiendaMX quiere un ranking de clientes por número de compras, sin perder a ninguno en el camino.

Mira las tres funciones de numerar y rankear.

ROW_NUMBER()

Da un número distinto a cada fila, 1, 2, 3..., aunque dos filas empaten en el valor

RANK()

Da el mismo número a los empates, y SALTA los números siguientes (1, 1, 3, 4...)

DENSE_RANK()

Da el mismo número a los empates, pero NO salta ningún número (1, 1, 2, 3...)

El detalle que importa

Ninguna de las tres agrupa ni reduce filas

A diferencia de GROUP BY, estas funciones NO cambian cuántas filas hay en el resultado: solo agregan una columna con el número o la posición.