Menu
CoddyTech

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 revenue

Sin ORDER BY, la ventana abarca todas las filas y obtendrías el total general en cada línea. Con él, la ventana se amplía una fila a la vez en ese orden, así que cada fila solo ve su propia fila y todas las anteriores.

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.

challenge icon

Desafío

Fácil

Tablas y columnas disponibles:

  • revenue: region, day, amount

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 y después por day.

Pruébalo tú mismo

SELECT region, day, amount,
       -- agrega la columna region_running_total aquí
FROM revenue
ORDER BY region, day
quiz iconPonte a prueba

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

Practica por tu cuenta: Playground de SQL