Gruplanan Verilere Şart Eklemek (Having)

Veri gruplama işlemlerine bazı durumlarda, gruplanarak getirilecek veriler üzerinde filtreleme ihtiyacı olabilir. GROUP BY kullanıldığı durumlarda, SELECT ile birlikte WHERE ifadesi kullanılarak gruplanacak verilere alan bazında sınırlamalar getirilebilir.

Gruplama fonksiyonları sonucunda elde edilen değere göre filtreleme işlemi yapılmak istenildiğinde ise HAVING ifadesi kullanılmalıdır. Örneğin; SQL cümlemize HAVING COUNT(AlanAdı)>10 gibi bir ifade ilave edilebilir. HAVING, sadece gruplama fonksiyonlarını içeren şart ifadelerini kullanabilir.

WHERE ve HAVING ifadelerinin GROUP BY ile birlikte kullanımları şu şekildedir;

Bu kullanımda ifadelerin sıralamaları ekrandaki gibi olmalıdır. Yani

  1. WHERE ifadesi her zaman GROUP BY’dan önce kullanılmalıdır.
  2. HAVING ifadesi her zaman GROUP BY’dan sonra kullanılmalıdır.
  3. ORDER BY her zaman GROUP BY’dan sonra kullanılmalıdır.

Örnek Kullanımı;

Production.Product tablosunda kırmızı veya mavi renkli ürünlerin Class bilgisine göre gruplanması, en az 5 kaydı olan Class kayıtlarının listelenmesi ve sonuçların Class adına göre sıralanması istedndiğinde ekrandaki sorgu cümlesi kullanılabilir.

Bir Cevap Yazın