Sql ile basit sorgular öğrenildikten sonra istatistiki raporlamalar için Count, Max, Min, Sum ve Avg fonksiyonlarının mutlaka bilinmesi gerekir. GROUP BY deyimi ise genellikle sonuç kümesini bir veya daha fazla sütunla gruplamak için (Count, Max, Min, Sum, Avg) ile birlikte kullanılır.
Sorguları daha iyi anlamak için aşağıdaki calisanlar tablosunu kullanacağız.
Count Deyiminin Group By ile Kullanımı
Count() metodu belirtilen kriterlere uyan kayıtların sayısını verir.
Soru: Her ilde çalışan işçi sayılarını listeleyiniz.
SELECT adres,count(Id) AS “Çalışan Sayısı”
FROM calisanlar
GROUP BY adres
Eğer ildeki çalışan sayılarına göre sıralama yapacak olsaydık sorgunun sonuna ORDER BY count(id) desc komutunu eklememiz gerekirdi.
Max Deyiminin Group By ile Kullanımı
Max(): Seçilen sütunun en büyük değerini verir.
Soru: En yüksek maaşı alan erkek ve kadın çalışanların bilgilerini listeleyiniz.
SELECT ad,soyad,cinsiyet,max(maas) AS maas
FROM calisanlar
GROUP BY cinsiyet
Min Deyiminin Group By ile Kullanımı
Min(): Seçilen sütunun en küçük değerini verir.
Soru: İllerde ki en düşük maaşları listeleyiniz.
SELECT adres, min(maas) AS maaş
FROM calisanlar
GROUP BY adres
Sum Deyiminin Group By ile Kullanımı
Sum(): Seçilen sütunun değerlerinin toplamını verir.
Soru: Bir yılda ödenen toplam maaş miktarını cinsiyete göre listeleyiniz.
SELECT cinsiyet, sum(maas) AS maaş
FROM calisanlar
GROUP BY cinsiyet
Avg Deyiminin Group By ile Kullanımı
Avg(): Seçilen sütunun değerlerinin ortalamasını verir.
Soru: Bir yılda ödenen maaşların illere göre ortalamasını listeleyiniz.
SELECT adres, avg(maas) AS ortalama
FROM calisanlar
GROUP BY adres
Tablolar arası ilişkiler karmaşıklaştıkça ve tablolarda ki kayıt sayısı artıkça Count, Max, Min, Sum, Avg metotlarının istatistiki veri toplamada önemi artmaktadır.