İçeriğe geç
parazade

GROUP BY Nedir?

Yayın: · Son güncelleme:

GROUP BY Nedir? Kısaca

GROUP BY, SQL'de aynı değere sahip satırları gruplara ayıran ve her grup için COUNT, SUM, AVG gibi toplama fonksiyonlarıyla özet değer hesaplamayı sağlayan ifadedir. Excel'deki özet tabloya benzer iş görür.

GROUP BY nedir?
İçindekiler
  1. GROUP BY nedir?
  2. Nasıl kullanılır?
  3. HAVING ile farkı
  4. Sık yapılan hatalar

GROUP BY nedir?

GROUP BY, satırları belirttiğiniz sütunun değerine göre gruplayan SQL ifadesidir. Her grup sonuçta tek satıra iner. Bu satırda gruplama sütunu ile birlikte toplama fonksiyonlarının sonucu yer alır.

Excel kullananlar için en yakın benzetme özet tablodur (pivot table). "Şehir başına toplam satış" ya da "kategori başına ürün sayısı" gibi sorular GROUP BY ile cevaplanır.

Nasıl kullanılır?

Varsayımsal bir satış tablosunda her şehrin toplam cirosunu görmek için:

SELECT sehir, COUNT(*) AS siparis_sayisi, SUM(tutar) AS ciro
FROM siparisler
GROUP BY sehir;

Tabloda 10.000 sipariş satırı varsa ve siparişler 12 şehirden geliyorsa, sonuç 12 satır olur. Her satırda şehir adı, sipariş sayısı ve toplam ciro görünür.

En sık kullanılan toplama fonksiyonları COUNT (sayı), SUM (toplam), AVG (ortalama), MIN ve MAX'tır.

HAVING ile farkı

WHERE gruplamadan önce satırları süzer, HAVING ise gruplamadan sonra grupları süzer. Cirosu 50.000 TL'yi geçen şehirleri görmek için sorgunun sonuna HAVING SUM(tutar) > 50000 eklenir. Bu koşulu WHERE'e yazmaya çalışmak hata verir, çünkü toplam henüz hesaplanmamıştır.

Sık yapılan hatalar

SELECT'te yer alıp GROUP BY'da bulunmayan ve bir toplama fonksiyonunun içinde olmayan sütunlar hata üretir. Bazı veritabanları bu durumda rastgele bir değer döndürür ve yanlış rapor fark edilmeden kullanılabilir. Raporları hazırlarken NULL değerlerin ayrı bir grup oluşturduğunu da hesaba katın.

Sıkça Sorulan Sorular

GROUP BY ne demek, Türkçesi nedir?

GROUP BY, "gruba göre" ya da "şuna göre grupla" anlamına gelir. Türkçe kaynaklarda gruplama ifadesi olarak da anılır, ancak SQL'de komut İngilizce yazılır.

Birden fazla sütuna göre gruplama yapılabilir mi?

Evet. GROUP BY sehir, yil yazdığınızda her şehir ve yıl kombinasyonu ayrı bir grup olur. Bu, yıllara göre şehir bazlı karşılaştırma için kullanışlıdır.

İlgili terimler

SELECT Sorgusu(SELECT Statement)SELECT sorgusu, SQL'de bir veya birden fazla tablodan veri okumak için kullanılan komuttur. Hangi sütunların, hangi tablodan ve hangi koşula göre getirileceğini belirtir; veriyi değiştirmez.Sorgu(Query)Sorgu (query), bir veritabanından belirli verileri getirmek, yeni veri eklemek, mevcut veriyi güncellemek ya da silmek için gönderilen komuttur. İlişkisel veritabanlarında sorgular genellikle SQL diliyle yazılır.Alt Sorgu(Subquery)Alt sorgu (subquery), başka bir SQL sorgusunun içinde parantez içine yazılan ve sonucu dıştaki sorguda kullanılan sorgudur. Bir değeri ya da kayıt listesini önce hesaplayıp ana sorguya aktarmayı sağlar.Raporlama Aracı(Reporting Tool)Raporlama aracı, veritabanı, e-tablo ya da uygulamalardan gelen verileri toplayıp tablo, grafik ve gösterge panoları hâlinde sunan yazılımdır. Satış, finans ve operasyon verilerinin düzenli takibi için kullanılır.SQLSQL (Structured Query Language, yapılandırılmış sorgu dili), ilişkisel veritabanlarındaki verileri sorgulamak, eklemek, güncellemek, silmek ve tabloları yönetmek için kullanılan standart bir dildir.Pivot Tablo(Pivot Table)Pivot tablo (PivotTable), Excel'de büyük bir veri listesini formül yazmadan özetleyen etkileşimli tablodur. Alanları sürükleyip bırakarak toplam, adet ya da ortalama gibi özetleri saniyeler içinde farklı açılardan görebilirsiniz.Satır(Row)Satır, Excel çalışma sayfasında soldan sağa uzanan yatay hücre dizisidir. Satırlar sayfanın solunda 1, 2, 3 diye numaralanır ve bir tabloda genellikle her satır tek bir kaydı temsil eder.NullNull, programlamada bir değişkenin bilerek boş bırakıldığını, yani hiçbir değer göstermediğini belirten özel değerdir. Sıfır ya da boş metinden farklıdır; Python'da bunun karşılığı None'dır.