Suma narastająco
Część sekcji Poza podstawami ścieżki SQL w Coddy. Lekcja 25 z 27.
Suma bieżąca (skumulowana) to SUM w oknie z ORDER BY: dzięki temu agregat rośnie wiersz po wierszu.
SELECT day, amount,
SUM(amount) OVER (ORDER BY day) AS running_total
FROM revenueBez ORDER BY okno obejmuje każdy wiersz i otrzymasz sumę całkowitą w każdym wierszu. Z nim okno rozszerza się po jednym wierszu w tej kolejności, więc każdy wiersz widzi tylko siebie i wszystko, co jest przed nim.
Dodaj PARTITION BY, aby zerować sumę narastającą dla każdej grupy, np. sumę narastającą przychodów dla każdego regionu, z dnia na dzień.
Wyzwanie
ŁatwyDostępne tabele i kolumny:
revenue:region,day,amount
Zwróć region, day, amount i region_running_total: skumulowaną wartość amount dla danego regionu aż do tego dnia włącznie. Suma narastająca powinna być zerowana dla każdego regionu.
Użyj PARTITION BY dla okna. Sortuj według region, a następnie day.
Spróbuj swoich sił
SELECT region, day, amount,
-- SUM(amount) OVER (PARTITION BY region ORDER BY day)
FROM revenue
ORDER BY region, day
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Poza podstawami
3Agregacja warunkowa
COUNT z CASESUM z CASEPrzekształcanie wierszy w kolumnyPodsumowanie — źródła ruchu6Przepisy na analizy
Top N w każdej grupieProcent całościSuma narastającoJeden wiersz na kluczPodsumowanie — najlepsi klienciPoćwicz samodzielnie: Edytor online SQL