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 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.

challenge icon

Desafío

Fácil

Tablas 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
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