Veri Gruplama (Grouping Data)

group by

GROUP BY, SELECT ile getirilen veriyi gruplar. Sorgu payment tablosundaki customer_id değerlerini bulur, aynı customer__iddeğerine sahip olanların ‘amount’ değerlerini toplar ve customer_id’ ye göregruplar.Yani spesifik bir customer_id değerine sahip olan satırların amount değerleritoplamını verir. Sorgu her customer kolonu için toplam tutarı ( SUM(amount) ) almak için INNER JOINyan tümcesi ile GROUP BY deyimini kullanır. Bu group by

having

Having yan tümcesi, bir grup veya küme için bir arama koşulu belirtir. HAVING, belirlibir koşula göre grupları veya kümeleri filtrelemek için genellikle GROUP BY ifadesiylebirlikte kullanılır. NOT: HAVING yan tümcesi SELECT yan tümcesinden önce değerlendirildiğinden,HAVING ifadesinde sütun takma adlarını kullanamazsınız. Çünkü HAVING ifadesideğerlendirilirken, SELECT yan tümcesinde belirtilen sütun takma adları kullanılamaz.

having vs where

WHERE yan tümcesi, belirtilen bir koşula göre satırları filtreler. Ancak HAVING yantümcesi, belirtilen bir koşula göre satır gruplarını filtreler.Başka bir deyişle, WHERE yan tümcesi satırlara uygulanırken HAVING yan tümcesi satırgruplarına uygulanmaktadır. Sorgu store_id’lere göre gruplandırma yapar ve bu store_id değerlerine sahipkaç tane customer_id satırı olduğunu veya kaç tane satır olduğunu hesaplar. (COUNT(customer_id) )Aşağıdaki sorgu ile having vs where