SQL GROUP BY Cümlesi

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