🟡 Aggregate Fonksiyonlar
Aggregate Fonksiyonlar: Aggregate fonksiyonlar, yüzlerce satıra bakan ve sana tek bir özet değer getiren bir muhasebeci gibi çalışır: 'bu aydaki en uzun test kaç saniye sürdü?' s
Aggregate fonksiyonlar, yüzlerce satıra bakan ve sana tek bir özet değer getiren bir muhasebeci gibi çalışır: 'bu aydaki en uzun test kaç saniye sürdü?' sorusunu yanıtlamak için her satırı kendin okumak yerine MAX(duration_ms) yazar ve sonucu alırsın. Peki Java'da `list.stream().mapToInt(t -> t.durationMs).max()` zinciri de aynı şeyi yapmıyor mu? Yapıyor — ama önce tüm kayıtları belleğe çekiyor; veritabanı ise MAX'ı index üzerinde hesaplayarak çoğu zaman tek bir disk okumasıyla bitirir. Java'daki Collectors.summarizingInt() ile SQL aggregate'leri arasındaki temel fark şudur: SQL'de GROUP BY olmadan kullandığında tüm tablo tek grup gibi işlenir, GROUP BY eklersen her gruba ayrı bir muhasebeci atanır. QA mühendisi için aggregate'lerin kritik kullanımı test koşu istatistiklerini izlemektir: `AVG(duration_ms) GROUP BY environment` sorgusu hangi ortamın testlerin yavaşlattığını, `COUNT(*) WHERE status='FAIL' GROUP BY test_name` ise hangi testlerin tutarsız (flaky) olduğunu net biçimde gösterir — bu bilgi olmadan hangi testin düzeltileceğine doğru öncelik vermek imkânsızdır.
Aggregate (Toplama) Fonksiyonları
Micro Lab: SQL — GROUP BY / CTE / Window
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
Adim Adim: SQL — GROUP BY / CTE / Window
Aggregation mi Window mi?
Aggregation (ozetleme) mi Window (satir bazli hesap) mi? Onu belirle
Aggregation icin GROUP BY ile ozetlenecek sutunu sec
HAVING ile gruplara kosul uygula — WHERE gibi ama agregasyon sonrasinda
WITH cte_adi AS (...) SELECT ... FROM cte_adi ile sorguyu modülerlestir
OVER(PARTITION BY) ekle
Window icin SUM(col) OVER (PARTITION BY bolum ORDER BY siralama) kullan
SQL GROUP BY ve Window Function sorgusu yazma sirasi nedir?
Aggregate Fonksiyonları ve GROUP BY Kuralı