SQL Having
SQL Having nedir ve nasıl kullanılır?
SQL Having
Koşul gruplandırma işlemi yapılırken, koşul ifadesi herhangi bir fonksiyonun sonucuna göre değilde normal şekilde alan ismine göre yapılmak istenirse Where ifadesi kullanılır. Ancak, bir fonksiyona(sum, max, min, avg, count) göre koşul ifadesi varsa Where de bu koşul ifadesi yazılmaz. Fonksiyonel koşul ifadelerinde Having komutu kullanılır.
NOT: Having komutu Group by dan sonra yazılır ve bu komut Group by’sız kullanılamaz.
Örnek:
Satis Tablosu
Toplam satış miktarı 10’dan yüksek olan ürünleri ve toplam satış miktarını listeleyelim.
SELECT
urun,
SUM(miktar) AS toplamsatismiktari
FROM Satis
GROUP BY urun
HAVING SUM(miktar) > 10
Örnek 2:
10/01/2020 ile 25/06/2020 tarihleri arasında, toplam satış miktarı 10 ile 100 arasında olan ürünleri ve toplam satış miktarını listeleyelim.
SELECT
urun,
SUM(miktar) AS toplamsatismiktari
FROM Satis
WHERE tarih BETWEEN '2020/01/10' AND '2020/06/25'
GROUP BY urun
HAVING SUM(miktar) BETWEEN 10 AND 100
Örnek 3:
Ortalama satış fiyatı 3'ten yüksek olan ürünleri ve ortalama fiyatını listeleyelim.
SELECT
urun,
AVG(fiyat)
FROM Satis
GROUP BY urun
HAVING AVG(fiyat) > 3
Tepkiniz Nedir?