Capítulo 8 · 11 niveles
Funciones de ventana
Ordena, compara y acumula sin colapsar filas: ROW_NUMBER, RANK, DENSE_RANK, totales acumulados, LAG para el crecimiento, medias móviles y retención por cohortes.
Las funciones de ventana son la línea entre “sabe SQL” y “está listo para la entrevista de analista”. Calculan sobre un conjunto de filas relacionadas, como GROUP BY, pero conservan todas las filas en lugar de colapsarlas. Eso hace que preguntas que antes necesitaban autouniones y subconsultas correlacionadas queden cortas y legibles: los 3 mejores por categoría, totales acumulados, el cambio respecto al mes pasado, una media móvil de 7 días, el enésimo pedido de cada cliente.
Este capítulo cubre la cláusula OVER (PARTITION BY ... ORDER BY ...), las tres funciones de ranking y
cómo tratan los empates, las sumas acumuladas, LAG y LEAD, los marcos de ventana y, al final, una
tabla de retención mensual por cohortes, el tipo de prueba para llevar a casa que se les da a los
candidatos a analista.
Niveles
- Los 3 mejores productos de cada categoría
de Jessica Turner, Gerente de Merchandising
window functions, row number, partition by, top n per group, cte
- ROW_NUMBER vs RANK vs DENSE_RANK
de Ashley Rivera, Responsable de Contenido Web
row number, rank, dense rank, ties, window functions
- Ingresos acumulados del año
de Brian Mitchell, Analista Financiero
running total, sum over, window frame, cte
- Crecimiento mes a mes
de Megan Collins, Directora de Ventas
lag, lead, mom growth, window functions, cte
- Media móvil de pedidos a 7 días
de Kevin Brooks, Gerente de Operaciones
moving average, window frame, rows between, avg over
- Dónde compran los clientes por primera vez
de Jordan Reyes, Director de Marketing
row number, partition by, first row per group, sum over
- Participación de la app en cada mes
de Daniel Foster, Gerente de Producto Móvil
count over, partition by, share of group, window vs group by
- Cuartiles de gasto de los clientes
de Laura Bennett, Directora de Finanzas
ntile, quartiles, sum over, cte
- Tendencia de tres meses por categoría
de Thomas Whitaker, Director de Merchandising
moving average, window frame, rows between, partition by, cte
- Depura: ¿los clientes repiten pedido cada dos horas?
de Megan Collins, Directora de Ventas
lead, lag, partition by, debugging, date difference
- Desafío final: retención por cohortes
de Catherine Hale, Directora Ejecutiva
window functions, row number, lag, sum over, cohort retention, cte