Menu
Coddy logo textTech

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, por lo que cada fila solo ve a sí misma y todo lo que la precede.

Añade un PARTITION BY para restablecer 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 este día, inclusive. El total acumulado debe reiniciarse para cada región.

Usa PARTITION BY en la ventana. Ordena por region, después 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
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