SQL Group By
Group by komutu tablodaki verileri istenilen bir veya birden çok alana göre gruplandırmak için kullanır.
SQL Group By
Group by komutu tablodaki verileri istenilen bir veya birden çok alana göre gruplandırmak için kullanır. Select komutu ile beraber kullanır.
Kullanım Şekli:
Select Listelenecek_alanlar, fonksiyonlar from Tablo_adı
Where şart veya şartlar
Group by Gruplandırılacak_alanlar
Not: Group by en çok fonksiyonlarla(max, min, avg, count, sum) beraber kullanılır. Fonkisiyonlar kullanılmak zorunda değildir. Group by da "Listelenecek alanlar", "Gruplandırılıcak alanlar" içinde olmak zorundadır. Gruplandırılıcak alanların hepsi listelenmek zorunda değildir.
Örnek:
Satis Tablosu
Her ürünün toplam satış miktarını listeleyelim.
SELECT
urun,
SUM(miktar) AS [Toplam Satış Miktarı]
FROM Satis
GROUP BY urun
Örnek 2:
Her ürünün günlük toplam satış miktarını listeleyelim.
SELECT
urun,
tarih,
SUM(miktar) AS [Toplam Satış Miktarı]
FROM Satis
GROUP BY urun,
tarih
Örnek 3:
Her ürünün 2020 Nisan ayındaki toplam satış miktarını bulalım.
Çözüm 1:
SELECT
urun,
SUM(miktar) AS [Toplam Satış Miktarı]
FROM Satis
WHERE tarih >= '2020/04/01'
AND tarih <= '2020/04/30'
GROUP BY urun
Çözüm 2:
SELECT
urun,
SUM(miktar) AS [Toplam Satış Miktarı]
FROM Satis
WHERE tarih BETWEEN '2020/04/01' AND '2020/04/30'
GROUP BY urun
Örnek 4:
Ürünlerin en yüksek satış fiyatını, en düşük satış fiyatını ve fiyatların ortalamasını listeleyelim.
SELECT
urun,
MAX(fiyat),
MIN(fiyat),
AVG(fiyat)
FROM Satis
GROUP BY urun
Örnek 5:
Her müşteriye yapılan satışların toplam tutarını bulalım.
SELECT
musteri_adi,
SUM(miktar * fiyat) AS toplamtutar
FROM Satis
GROUP BY musteri_adi
Örnek 6:
Her müşterinin günlük toplam satış miktarını listeleyelim.
SELECT
musteri_adi,
tarih,
SUM(miktar * fiyat)
FROM Satis
GROUP BY musteri_adi,
tarih
Örnek 7:
A harfi başlayan müşterilerin aldığı her ürünün ortalama fiyatını listeleyelim.
SELECT
urun,
AVG(fiyat)
FROM Satis
WHERE musteri_adi LIKE 'a%'
GROUP BY urun
Örnek 8:
Toplam satış miktarını listeleyelim.
SELECT
SUM(miktar) AS toplammiktar
FROM Satis
Örnek 9:
Her müşterinin aldığı ürünlerin sayısı bulalım.
SELECT
musteri_adi,
COUNT(*)
FROM Satis
GROUP BY musteri_adi
Tepkiniz Nedir?