Menu
CoddyTech

Suma narastająco

Część sekcji Poza podstawami ścieżki SQL w Coddy. Lekcja 25 z 27.

Suma bieżąca (narastająca) to SUM w oknie z ORDER BY: dzięki temu agregat zwiększa się z każdym wierszem.

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

Bez ORDER BY okno obejmuje każdy wiersz, więc na każdym wierszu otrzymasz sumę całkowitą. Z nim okno rozszerza się o jeden wiersz naraz w tej kolejności, więc każdy wiersz uwzględnia tylko siebie i wszystko, co go poprzedza.

Dodaj PARTITION BY, aby resetować sumę bieżącą dla każdej grupy, np. sumę bieżącą przychodów dla każdego regionu, z dnia na dzień.

challenge icon

Wyzwanie

Łatwy

Dostępne tabele i kolumny:

  • revenue: region, day, amount

Zwróć region, day, amount i region_running_total: skumulowaną wartość amount dla danego regionu do tego dnia włącznie. Suma narastająca powinna zaczynać się od nowa dla każdego regionu.

Użyj PARTITION BY w oknie. Sortuj według region, a następnie day.

Spróbuj swoich sił

SELECT region, day, amount,
       -- dodaj tutaj kolumnę region_running_total
FROM revenue
ORDER BY region, day
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Poza podstawami

Poćwicz samodzielnie: Edytor online SQL