M3 · SQL ile Veri Sorgulama
Aggregation: GROUP BY ile Özetleme
Neden bu konu?
İş dünyasında hiçbir yönetici sana ham satır listesi sormaz; herkes 'toplam ne kadar', 'şehir başına kaç sipariş', 'kategori başına ortalama sepet' diye ÖZET ister. Elinde 2 milyon sipariş satırı varken tek tek bakmak imkânsızdır — GROUP BY tam da bu boşluğu doldurur: milyonlarca satırı anlamlı gruplara yığıp her yığını tek sayıya indirger. Bu beceri olmadan SQL'in yaptığı tek şey 'kaydı geri okumaktır'; GROUP BY girdiği an SQL bir raporlama aracına dönüşür. Yokluğunda ya veriyi Excel'e taşıyıp elle pivotlarsın (yavaş, hatalı, tekrarlanamaz) ya da 'toplam ciro' gibi en temel soruyu bile yanıtlayamazsın.
Benzetme: kavramın günlük karşılığı
GROUP BY, günün sonunda kasadaki fişleri kategorisine göre yığmak gibidir: içecekler bir yığın, atıştırmalık bir yığın, temizlik bir yığın. Sonra her yığını ayrı ayrı sayar veya tutarlarını toplarsın — 'içeceklerden 340 TL, atıştırmalıktan 180 TL'. GROUP BY yığını yapan komut, COUNT/SUM/AVG ise her yığının üstünde yaptığın işlem. HAVING de en sonda 'sadece 200 TL'yi geçen yığınları göster' diye yığınları eleyen süzgeçtir.
Bu işin sırrı: kalıplar
- GROUP BY her zaman iki parçalıdır: neye göre gruplayacağını (GROUP BY sutun) ve her grupta ne hesaplayacağını (COUNT/SUM/AVG) birlikte yazarsın. Örn: SELECT corpus, SUM(word_count) ... GROUP BY corpus.
- SELECT'te gruplanmayan her sütun bir agregat fonksiyonun içinde olmalıdır. Kural: ya GROUP BY listesinde ya da COUNT/SUM/AVG içinde — arada kalan sütun hata verir.
+ 3 kalıp daha tam derste
İlk uygulama adımı
1. Grubu belirle: hangi sütun yığını tanımlıyor?
BigQuery konsolunda bigquery-public-data.samples.shakespeare tablosunu aç. 'Her eser (corpus) toplam kaç kelime içeriyor?' sorusunu düşün ve gruplayacağın sütunu tek kelimeyle yaz: hangi sütun 'yığın etiketi'?
Kontrol noktası: Cevabın 'corpus' olmalı — çünkü her eserin adı bir yığını tanımlar. word veya word_count değil; onlar yığının içindeki değerler.
+ 4 adım daha tam derste
Dersin devamı erken erişimde
Tam derste seni bekleyenler: 5 kontrol noktalı uygulama adımı, gerçek dünya kullanımı (analist + scientist + AI perspektifi), 4 yaygın tuzak, mülakat sorusu ve model cevabı, 4 soruluk quiz, 7 tekrar kartı ve NovaCommerce proje görevi.