Menu
Coddy logo textTech

Toplama Fonksiyonları

Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası. Ders 68 / 72.

Toplama işlevleri, geçerli satıra kadar AVG() veya MAX() ya da diğer herhangi bir toplama işlevini hesaplamak için kullanılır.
Örneğin, her bir dönem sonuna kadar elde ettiğimiz maksimum geliri hesaplayabiliriz:

aygelirbölge
440Doğu
520Doğu
660Batı
755Batı
861Doğu
SELECT month, revenue, MAX(revenue) OVER (ORDER BY month ASC) as max_revenue
from table1

Bu, şunu döndürecektir:

aygelirmax_revenue
44040
52040
66060
75560
86161

4. ve 5. aylar için maksimum gelir 40, 6. ve 7. aylar için 60, 8. ay için ise 61’dir. Bunun nedeni, yeni ve daha büyük bir gelir bulduğunda eskisini bırakıp o ana kadarki en büyüğü kullanmasıdır.

AVG() işlevi için şöyle görünecektir:

SELECT month, revenue, AVG(revenue) OVER (ORDER BY month ASC) as avg_revenue
from table1
aygeliravg_revenue
44040
52030
66040
75543.75
86147.2

Hesaplamalarımızı PARTITION BY kullanarak belirli kategorilere göre de gruplayabiliriz. Örneğin:

SELECT month, revenue, region,
MAX(revenue) OVER (PARTITION BY region ORDER BY month ASC) as max_revenue
FROM table1

Bize şunu verirdi:

aygelirbölgemax_revenue
440East40
520East40
660West60
755West60
861East61

Şimdi maksimum, her bölge için ayrı ayrı hesaplanır. Doğu bölgesi ve Batı bölgesi, kendi devam eden maksimumlarını bağımsız olarak korur.

challenge icon

Görev

Kolay

Kullanılabilir tablolar ve sütunlar:

  • books: book, page, words

Her kitap için kitap adını, toplam sayfa sayısını, her sayfadaki kelime sayısını görüntüleyin ve şunları hesaplayın:

  1. Bu kitaptaki herhangi bir sayfada bulunan maksimum kelime sayısı
  2. Tüm kitap için sayfa başına ortalama kelime sayısı
  3. Mevcut sayfadaki kelime sayısı ile kitabın sayfa başına ortalama kelime sayısı arasındaki fark

Sonuçları kitap ve sayfa numarasına göre sıralı olarak görüntüleyin.

Aşağıdaki sütunları döndürün:

  • book
  • page
  • words
  • max_words_in_book
  • avg_words_per_page
  • diff_from_avg

Kendin dene

quiz iconKendini test et

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

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: SQL playground