TiendaMX quiere el ranking de compras, pero POR CIUDAD: el mejor cliente de cada ciudad, no solo el mejor de todos.
PARTITION BY ciudad hace que la numeración empiece otra vez en 1 para cada ciudad distinta
A diferencia de GROUP BY, todas las filas originales se conservan; solo cambia cómo se reparte el número
PARTITION BY ciudad ORDER BY compras DESC numera de mayor a menor, empezando de nuevo en cada ciudad
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.