Total Acumulado
Parte da seção Além do Básico do Journey de SQL da Coddy. Lição 25 de 27.
Um total acumulado (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 revenueSem ORDER BY, a janela abrange todas as linhas, e você obteria o total geral em cada linha. Com ele, a janela se amplia uma linha de cada vez nessa ordem, de modo que cada linha vê apenas a si mesma e tudo o que vem antes dela.
Adicione um PARTITION BY para redefinir o total acumulado por grupo, por exemplo, o total acumulado da receita por região, dia a dia.
Desafio
FácilTabelas e colunas disponíveis:
revenue:region,day,amount
Retorne region, day, amount e region_running_total: o amount cumulativo 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,
-- SUM(amount) OVER (PARTITION BY region ORDER BY day)
FROM revenue
ORDER BY region, day
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
3Agregação Condicional
COUNT com CASESUM com CASETransformando Linhas em ColunasRecapitulação - Fontes de Tráfego6Receitas de Analytics
Top-N por GrupoPorcentagem do TotalTotal AcumuladoMantendo uma Linha por ChaveRecapitulação - Principais ClientesPratique por conta própria: Playground de SQL