Menu
Coddy logo textTech

Kümülatif Toplam

Coddy'nin SQL Journey'sinin Temellerin Ötesi bölümünün bir parçası — ders 25 / 27.

Yürüyen (kümülatif) toplam, ORDER BY içeren bir pencere üzerindeki SUM işlemidir: bu, toplamayı satır satır büyüyen bir hale dönüştürür.

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

ORDER BY olmadan pencere her satırı kapsar ve her satırda genel toplamı elde edersiniz. Onunla birlikte, pencere bu sırada her seferinde bir satır genişler, böylece her satır yalnızca kendisini ve kendisinden önceki her şeyi görür.

Grup başına yürüyen toplamı sıfırlamak için bir PARTITION BY ekleyin; örneğin, bölge bazında günbegün gelirin yürüyen toplamı.

challenge icon

Görev

Kolay

Mevcut tablolar ve sütunlar:

  • <strong>revenue</strong>: <strong>region</strong>, <strong>day</strong>, <strong>amount</strong>

region, day, amount ve region_running_total değerlerini döndürün: o bölge için bu gün dahil olmak üzere kümülatif amount. Hareketli toplam her bölge için sıfırlanmalıdır.

Pencere üzerinde PARTITION BY kullanın. region, ardından day sütununa göre sıralayın.

Kopya kağıdı

Yürüyen (kümülatif) toplam, pencere içinde ORDER BY ile birlikte SUM kullanır — pencere bu sırada satır satır genişler:

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

Yürüyen toplamı grup başına sıfırlamak için PARTITION BY ekleyin:

SELECT region, day, amount,
       SUM(amount) OVER (PARTITION BY region ORDER BY day) AS region_running_total
FROM revenue
ORDER BY region, day

Kendin dene

SELECT region, day, amount,
       -- SUM(amount) OVER (PARTITION BY region ORDER BY day)
FROM revenue
ORDER BY region, day
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temellerin Ötesi bölümündeki tüm dersler