Menu
Coddy logo textTech

Aggregation Functions

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

Toplama (Aggregation) fonksiyonları, geçerli satıra kadar AVG() veya MAX() veya başka herhangi bir toplama fonksiyonunu hesaplamak için kullanılır.
Örneğin, her bitiş dönemine 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 şunları döndürecektir:

monthrevenuemax_revenue
44040
52040
66060
75560
86161

4. ve 5. aylar için maksimum gelir 40, 6. ve 7. aylar için 60 ve 8. ay için 61'dir. Bunun nedeni, yeni ve daha büyük bir gelir bulduğunda eski olanı bırakıp şimdiye kadarki en büyüğünü kullanmasıdır.

AVG() fonksiyonu için şu şekilde görünecektir:

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

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

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

Bize şunu verir:

aygelirbölgemaks_gelir
440Doğu40
520Doğu40
660Batı60
755Batı60
861Doğu61

Artık maksimum değer her bölge için ayrı ayrı hesaplanır. Doğu bölgesi ve Batı bölgesi kendi hareketli maksimumlarını bağımsız olarak sürdürür.

challenge icon

Görev

Kolay

Mevcut tablolar ve sütunlar:

  • <strong>books</strong>: <strong>book</strong>, <strong>page</strong>, <strong>words</strong>

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. O kitaptaki herhangi bir sayfada bulunan maksimum kelime sayısı
  2. Tüm kitap için sayfa başına ortalama kelime sayısı
  3. Mevcut sayfanın 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ıralanmış 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