Ana içeriğe geç
Kesit SQL
Temel · Özetleme

Toplama fonksiyonları: COUNT, SUM, AVG, MIN, MAX

Bir tablodan tek bir özet değer üretmek.

Uygulamada aç, 10 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Satırlardan tek değere

Toplama (aggregate) fonksiyonları çok sayıda satırı alıp tek bir değer üretir.

FonksiyonNe yapar?
COUNT(*)Satır sayısı
COUNT(sutun)O sütunda NULL olmayan değer sayısı
COUNT(DISTINCT sutun)Farklı değer sayısı
SUM, AVGToplam, ortalama (NULL'ları yok sayar)
MIN, MAXEn küçük, en büyük (metin ve tarihte de çalışır)
SELECT COUNT(*) AS musteri_sayisi,
       COUNT(email) AS emaili_olan,
       COUNT(DISTINCT city) AS sehir_sayisi
FROM customers;
SELECT MIN(price) AS en_ucuz,
       MAX(price) AS en_pahali,
       ROUND(AVG(price), 2) AS ortalama
FROM products;

WHERE ile birlikte: önce satırlar süzülür, sonra özetlenir.

SELECT COUNT(*) AS iptal_sayisi
FROM orders
WHERE status = 'cancelled';
AVG ve NULLAVG, NULL değerleri paydaya katmaz. NULL'ları 0 saymak istiyorsan AVG(COALESCE(x, 0)) kullanmalısın. Bu fark raporlarda büyük sapmalara yol açabilir.

Derinleş: toplama fonksiyonlarını birlikte kullanmak

Tek satırda hem sayıyı hem toplamı hem ortalamayı görmek, verinin genel resmini hızla verir. Lezzet Kurye'nin teslim siparişleri:

SELECT COUNT(*)               AS siparis,
       SUM(tip)               AS toplam_bahsis,
       ROUND(AVG(tip), 2)     AS ort_bahsis,
       MIN(placed_at)         AS ilk,
       MAX(placed_at)         AS son
FROM lk_orders
WHERE status = 'teslim';
Alıştırmalara geç (10)