İçeriğe atla
CodeItRaw
SQL: Gruplamak

Ders 2/2

Gruplar oluştuktan sonra onları da süzmek isteyebilirsin: "ortalama fiyatı 80'in üstünde olan türler". Bu koşul tek bir satıra sorulamaz, çünkü ortalama ancak grup kurulduktan sonra vardır. Satırları WHERE süzer, grupları `HAVING`.

SELECT genre, AVG(price) AS average
FROM books
WHERE year >= 2000
GROUP BY genre
HAVING COUNT(*) >= 3
ORDER BY average DESC;
Sıra şöyle işler: WHERE 2000 öncesi kitapları atar, GROUP BY kalanları türlere ayırır, HAVING üçten az kitabı olan türleri atar, ORDER BY sonucu sıralar. WHERE gruplamadan önce, HAVING sonra çalışır.

Bir zaman dilimine göre toplamak aynı kalıptır: ay sütununa göre grupla, tutarı SUM ile topla, aya göre sırala. Raporların büyük kısmı bu üç satırdan ibarettir.

Görevler

Görevler sırayla açılır. Hepsini çözünce sonraki ders açılır.

Bu dersin görevleri, önceki dersler bitince açılır. Anlatımı şimdiden okuyabilirsin.

  1. 01

    Ortalama maaş

    SQL sorgusu

  2. 02

    Kalabalık departmanlar

    SQL sorgusu

  3. 03

    Aylık satış

    SQL sorgusu

Sırayı beklemeden çözmek istersen bütün problemler kilitsiz açık: Problemler listesi