DataBoosters
SQL
Saltar+6 XP

TiendaMX quiere el ranking de compras, pero POR CIUDAD: el mejor cliente de cada ciudad, no solo el mejor de todos.

Mira cómo funciona PARTITION BY.

Reinicia el conteo por grupo

PARTITION BY ciudad hace que la numeración empiece otra vez en 1 para cada ciudad distinta

No reduce filas

A diferencia de GROUP BY, todas las filas originales se conservan; solo cambia cómo se reparte el número

Se combina con ORDER BY

PARTITION BY ciudad ORDER BY compras DESC numera de mayor a menor, empezando de nuevo en cada ciudad

El detalle que importa

PARTITION BY es al OVER lo que GROUP BY es al SELECT normal

Los dos agrupan por una columna, pero GROUP BY colapsa las filas en un resumen; PARTITION BY mantiene todas las filas, solo reinicia el cálculo dentro de cada grupo.