Total acumulado
Parte de la sección Más allá de lo básico del Journey de SQL de Coddy — lección 25 de 27.
Un total acumulado es SUM sobre una ventana con ORDER BY: eso convierte el agregado en uno que crece fila por fila.
SELECT day, amount,
SUM(amount) OVER (ORDER BY day) AS running_total
FROM revenueSin ORDER BY la ventana cubre cada fila y obtendrías el total general en cada línea. Con ella, la ventana se expande una fila a la vez en ese orden, por lo que cada fila se ve solo a sí misma y a todo lo anterior.
Añade un PARTITION BY para reiniciar el total acumulado por grupo, por ejemplo, el total acumulado de ingresos por región, día a día.
Desafío
FácilTablas y columnas disponibles:
<strong>revenue</strong>:<strong>region</strong>,<strong>day</strong>,<strong>amount</strong>
Devuelve region, day, amount y region_running_total: el amount acumulado para esa región hasta e incluyendo este día. El total acumulado debe reiniciarse para cada región.
Usa PARTITION BY en la ventana. Ordena por region, luego por day.
Pruébalo tú mismo
SELECT region, day, amount,
-- SUM(amount) OVER (PARTITION BY region ORDER BY day)
FROM revenue
ORDER BY region, day
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Más allá de lo básico
3Agregación condicional
COUNT con CASESUM con CASEPivotar filas a columnasResumen - Fuentes de tráfico6Recetas de Analítica
Top-N por grupoPorcentaje del totalTotal acumuladoMantener una fila por claveResumen - Mejores clientes