DataBoosters
SQL
Saltar+6 XP

Ana tiene 3 pedidos en distintas fechas, y TiendaMX solo quiere su pedido MÁS RECIENTE por cliente.

Mira el patrón de deduplicación más usado.

Numerar dentro de cada cliente

ROW_NUMBER() OVER (PARTITION BY cliente ORDER BY fecha DESC) le da el número 1 al pedido más reciente de cada uno

Quedarse solo con el número 1

Un WHERE rn = 1 (usando ese número como filtro) deja solo la fila más reciente de cada cliente

No es lo mismo que DISTINCT

DISTINCT quita filas IDÉNTICAS; aquí las filas son distintas entre sí, solo se quiere ELEGIR cuál conservar

El detalle que importa

El WHERE va DESPUÉS de calcular el ROW_NUMBER

No se puede escribir WHERE rn = 1 en la misma consulta donde se calculó rn: hace falta un paso aparte (una subconsulta o un CTE) para poder filtrar por ese número.