SQL GROUP BY Cümlesi
- Önceki Sayfa SQL sum()
- Sonraki Sayfa SQL Having
Toplama fonksiyonları (örneğin SUM) genellikle GROUP BY ifadesi eklenmesi gereklidir.
GROUP BY ifadesi
GROUP BY ifadesi, bir veya daha fazla sütune göre sonuç kümesine gruplama yapmak için kullanılır.
SQL GROUP BY Gücü
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name işlemci değer GROUP BY column_name
SQL GROUP BY Örneği
Sahip olduğumuz "Orders" tablosunu aşağıda bulabilirsiniz:
O_Id | OrderDate | OrderPrice | Customer |
---|---|---|---|
1 | 2008/12/29 | 1000 | Bush |
2 | 2008/11/23 | 1600 | Carter |
3 | 2008/10/05 | 700 | Bush |
4 | 2008/09/28 | 300 | Bush |
5 | 2008/08/06 | 2000 | Adams |
6 | 2008/07/21 | 100 | Carter |
Şimdi, her müşterinin toplam tutarını (toplam sipariş) bulmak istiyoruz.
Müşterilere GROUP BY cümlesi kullanarak gruplama yapmak istiyoruz.
Aşağıdaki SQL cümlesini kullanıyoruz:
SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer
Sonuç kümesi benzer şekilde görünebilir:
Customer | SUM(OrderPrice) |
---|---|
Bush | 2000 |
Carter | 1700 |
Adams | 2000 |
Harika değil mi, değil mi?
GROUP BY'ı atladığımızda ne olur görelim:
SELECT Customer,SUM(OrderPrice) FROM Orders
Sonuç kümesi benzer şekilde görünebilir:
Customer | SUM(OrderPrice) |
---|---|
Bush | 5700 |
Carter | 5700 |
Bush | 5700 |
Bush | 5700 |
Adams | 5700 |
Carter | 5700 |
Yukarıdaki sonuç kümesi istediğimiz gibi değil.
Peki neden yukarıdaki SELECT cümlesini kullanamıyoruz? Aşağıda açıklandığı gibi:
Birden fazla sütune GROUP BY
Birden fazla sütune GROUP BY cümlesi uygulayabiliriz, örneğin:
SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders GROUP BY Customer,OrderDate
- Önceki Sayfa SQL sum()
- Sonraki Sayfa SQL Having