SQL'de Group By Kavramı

Bir sütun değerine karşılık 1'den fazla karşılık gelen sütunların gruplanması ile ilgili makalemiz.

Diyelimki elinizde bir ürün sistemi var (Bilgisayar, televizyon, beyaz eşya vs..). Bu sistemde raporlar almak istiyorsunuz. Mesela, "Televizyon kategorisinde kaç tane marka var?", "LG markalı kaç tane televizyon mevcut?" yada "Her bir kategoride kaç tane ürün mevcut?" gibi soruların karşılığı olarak GROUP BY ifadesi ile bu soruların cevaplarını bulmaya çalışalım.
Öncelikle, çok ayrıntıya girmeden basit bir tablo oluşturalım. Kategori, marka ve ürünün aynı tabloda yer aldığı bir tablo.
Ürünler Tablosu
CREATE Table tblUrunler
(
id INT PRIMARY KEY IDENTITY,
kategori NVARCHAR(50),
marka NVARCHAR(50),
urun_adi NVARCHAR(50)
)

İçerisine biraz kayıtlar ekleyelim
Eklenen Kayıtlar
SQL'de Group By Kavramı

Tablonun özetini çıkarırsak
- "Televizyon" ve "Notebook" olmak üzere toplamda 2 kategori mevcuttur.
- "LG", "Samsung", "Sharp", "Sony", "Panasonic", "ASUS" ve "HP" olmak üzere toplamda 7 marka mevcuttur.
- Toplamda ise 13 ürün mevcuttur.


Her bir markaya ait kaç tane ürün var?

SQL Sorgusu
SELECT
marka, COUNT(id) AS [Toplam Ürün]
FROM
tblUrunler
GROUP BY marka
Markaya Ait Ürün Sayısı
SQL'de Group By Kavramı

Her bir kategoriye ait kaç tane ürün var?

SQL Sorgusu
SELECT
kategori, COUNT(id) AS [Toplam Ürün]
FROM
tblUrunler
GROUP BY kategori
Kategoriye Ait Ürün Sayısı
SQL'de Group By Kavramı

Ürün Sayısı 2'den Fazla Markaları Bulalım

SQL Sorgusu
SELECT
marka, COUNT(id) AS [Toplam Ürün]
FROM
tblUrunler
GROUP BY marka
HAVING COUNT(id) > 2
Ürün Sayısı 2'den Fazla Markalar
SQL'de Group By Kavramı

Her bir kategoride kaç tane marka var?

SQL Sorgusu
SELECT
kategori, COUNT(DISTINCT marka) AS [Toplam Marka]
FROM
tblUrunler
GROUP BY kategori
Örnek
SQL'de Group By Kavramı

Yorumlar

Henüz hiçbir yorum yazılmamış. İlk yorumu siz yapın.

Yorum Yaz

Avatar

REKLAM

DDos Koruma, Botnet Koruma, Layer 7 Saldırı koruması, Sanal sunucu, Vds sunucu

REKLAM

Çizgi Filmler

EN

  • Popüler
  • Yeni
  • Son Yorum