0Pricing
SQL Academy · Ders

Tek ve Birden Çok Sütunla GROUP BY

Ara toplamlar ve kategori dökümleri üretmek için satırları bir veya daha fazla sütuna göre gruplayın ve GROUP BY sorgu planlarını okuyun.

Tek ve Birden Çok Sütunla GROUP BY, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.

GROUP BY Ne Yapar

GROUP BY, satırları bir veya daha fazla sütun değerine göre gruplara ayırır, ardından her grup için toplulaştırma işlemleri uygular.

Tek Sütunlu Grup

Kullanıcı başına toplam sipariş:

SELECT user_id, COUNT(*) AS order_count, SUM(total) AS revenue
FROM orders
GROUP BY user_id
ORDER BY revenue DESC;

Çok Sütunlu Grup

Kategoriye ve ülkeye göre alt gruplar:

SELECT country, category, SUM(total) AS revenue
FROM orders o
JOIN products p ON p.id = o.product_id
JOIN users   u ON u.id = o.user_id
GROUP BY country, category
ORDER BY country, revenue DESC;

SELECT ile Seçilen Her Sütun Gruplanmalı veya Toplulaştırılmalı

Standart SQL kuralı:

-- WRONG — email is neither grouped nor aggregated:
SELECT user_id, email, COUNT(*)
FROM orders
GROUP BY user_id;     -- ERROR

-- RIGHT — group by both, or use an aggregate:
SELECT user_id, MAX(email) AS email, COUNT(*)
FROM orders
GROUP BY user_id;

İfadeye Göre GROUP BY

Bir ifadenin sonucuna göre (örneğin aylık aralığa göre) gruplama yapın:

SELECT date_trunc('month', created_at) AS month, SUM(total)
FROM orders
GROUP BY date_trunc('month', created_at)
ORDER BY month;

Konuma veya Takma Ada Göre GROUP BY

Bir SELECT listesindeki konuma veya takma ada göre gruplama yapabilirsiniz (PostgreSQL):

SELECT date_trunc('month', created_at) AS month, SUM(total)
FROM orders
GROUP BY month             -- alias
ORDER BY 1;                -- position

Gruplama Kümeleri, ROLLUP, CUBE

Tek sorguda birden fazla gruplama hesaplayın — ara toplamlar için idealdir:

SELECT country, category, SUM(total)
FROM orders o JOIN ...
GROUP BY ROLLUP (country, category);

-- Returns:  per (country, category),  per country,  grand total

Boş Gruplar Yoktur

GROUP BY yalnızca en az bir satır içeren grupları döndürür. Sıfır siparişe sahip olanlar da dahil olmak üzere her kategoriyi istiyorsanız, ana listeden LEFT JOIN yapın ve toplulaştırın.

GROUP BY ve Dizinler

Sorgu planlayıcısı bir karma toplulaştırma (grupların karma tablosunu oluşturur) veya sıralama + gruplama stratejisi kullanabilir. Gruplama sütunlarındaki dizinler ikinci yaklaşımı hızlandırabilir.

Pencere İşlevleri ve GROUP BY

GROUP BY satırları tek bir satırda birleştirir. Pencere işlevleri, her satırı korurken toplulaştırılmış sütunlar ekler. Doğru aracı seçin — bu konu Pencere İşlevlerini Derinlemesine İnceleme bölümünde ele alınmıştır.

HAVING ve WHERE İçindeki Takma Adlar

Mantıksal sıra: FROM → WHERE → GROUP BY → HAVING → SELECT. WHERE toplulaştırmaları göremez; HAVING görebilir.

Özet

GROUP BY, raporlamanın temel aracıdır.

  • SELECT ile seçilen her sütun gruplanmalı veya toplulaştırılmalıdır
  • Sütunlara, ifadelere veya takma adlara göre gruplama yapın
  • Çapraz tablolar için ROLLUP/CUBE/GROUPING SETS kullanın

Hızlı Kontrol

GROUP BY country sorgusunda, SELECT listesi toplulaştırılmamış veya gruplanmamış bir city sütunu içerebilir mi?

Sıkça Sorulan Sorular

“Tek ve Birden Çok Sütunla GROUP BY” dersi ücretsiz mi?

Evet — “Tek ve Birden Çok Sütunla GROUP BY” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.

“Tek ve Birden Çok Sütunla GROUP BY” dersinde ne öğreneceğim?

Ara toplamlar ve kategori dökümleri üretmek için satırları bir veya daha fazla sütuna göre gruplayın ve GROUP BY sorgu planlarını okuyun. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

SQL Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Tek ve Birden Çok Sütunla GROUP BY” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. COUNT, SUM, AVG, MIN, MAX
  2. Tek ve Birden Çok Sütunla GROUP BY
  3. HAVING ve WHERE Karşılaştırması
  4. Yaygın Tuzaklar: Toplamalarda NULL Değerleri
← SQL Academy Sayfasına Dön