CodeBlanks Logo Icon CodeBlanks

HAVING nedir?

Grupları filtrelemek için HAVING kullanmayı öğrenirsin.

HAVING nedir?

HAVING grupları filtreler. WHERE satırları, HAVING grupları süzer.

SELECT category, COUNT(*)
FROM products
GROUP BY category
HAVING COUNT(*) > 5;

5'ten çok ürünü olan kategorileri verir.

products kaynağından category, COUNT(*) seçilir. Satırlar category değerine göre gruplanır; toplam fonksiyonları her grup için ayrı hesaplanır. HAVING COUNT(*) > 5 gruplamadan sonra çalışır ve koşulu sağlamayan grupları eler.

HAVING nedir? — ayrıntı

HAVING aggregateden sonra çalışır. WHERE GROUP BY'dan önce, HAVING sonrasında uygulanır.

Örneğin HAVING COUNT(*) > 5 yalnızca 5'ten fazla ürünü olan kategorileri bırakır; bu koşulu WHERE'e yazamazsın çünkü sayım henüz yapılmamıştır.

Uygulama HAVING nedir?

Ürün sayısı 5'ten fazla olan kategorileri HAVING COUNT(*) > 5 ile bul.

Başlangıç kodu

query.sql
-- grupları süz
SELECT category, COUNT(*)
FROM products
GROUP BY category

Örnek çözüm

query.sql
SELECT category, COUNT(*)
FROM products
GROUP BY category
HAVING COUNT(*) > 5;

Beklenen çıktı

category  count
Elektronik 8
Kitap     12

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 HAVING neyi filtreler?

  • Grupları Doğru cevap
  • Satırları
  • Sütunları
  • Tabloları

Açıklama: HAVING grupları filtreler.

2 HAVING ekle

Soru
SELECT category, COUNT(*)
FROM products
GROUP BY category
____ COUNT(*) > 5;
Cevap
SELECT category, COUNT(*)
FROM products
GROUP BY category
HAVING COUNT(*) > 5;

Açıklama: HAVING grupları süzer; COUNT(*) > 5 yalnızca 5'ten fazla ürünü olan kategorileri bırakır.

3 HAVING nedir: kavramları eşleştir

Kavram Anlamı
HAVING grup filtre
WHERE satır filtre
GROUP BY grupla
COUNT say

Orta seviye bölümündeki tüm dersler