Menu
CoddyTech

Total Acumulado

Parte da seção Além do Básico do Journey de SQL da Coddy. Lição 25 de 27.

Um total progressivo (cumulativo) é SUM em uma janela com ORDER BY: isso transforma a agregação em uma que cresce linha a linha.

SELECT day, amount,
       SUM(amount) OVER (ORDER BY day) AS running_total
FROM revenue

Sem ORDER BY, a janela cobre todas as linhas, e você obteria o total geral em cada linha. Com ele, a janela se expande uma linha por vez nessa ordem, então cada linha considera apenas a si mesma e tudo o que veio antes.

Adicione um PARTITION BY para reiniciar o total acumulado por grupo, por exemplo, o total acumulado da receita por região, dia a dia.

challenge icon

Desafio

Fácil

Tabelas e colunas disponíveis:

  • revenue: region, day, amount

Retorne region, day, amount e region_running_total: o valor cumulativo de amount para essa região até e incluindo este dia. O total acumulado deve ser reiniciado para cada região.

Use PARTITION BY na janela. Ordene por region e, em seguida, por day.

Experimente você mesmo

SELECT region, day, amount,
       -- adicione a coluna region_running_total aqui
FROM revenue
ORDER BY region, day
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Além do Básico

Pratique por conta própria: Playground de SQL