SQL GROUP BY cümlesi, aynı verileri bir veya daha fazla sütuna dayalı olarak gruplar halinde düzenlemek için kullanılır. Her bir veri grubu üzerinde hesaplamalar gerçekleştirmek için COUNT() SUM() AVG() MAX() ve MIN() gibi toplama işlevleriyle yaygın olarak kullanılır.
Örnek: İlk önce yapacağız yaratmak GROUP BY komutunu kullanacağımız demo SQL veritabanı ve tablosu.
Sorgu:
SELECT Department SUM(Salary) AS TotalSalary FROM Employees GROUP BY Department;Çıkış:
css listeleri
Sözdizimi:
SELECT column1 aggregate_function(column2) FROM table_name WHERE condition GROUP BY column1 column2;- toplama_işlevi: toplama için kullanılan işlev; SUM() AVG() COUNT().
- tablo_adı: Verilerin seçildiği tablonun adı.
- durum: Gruplandırmadan önce satırları filtrelemek için isteğe bağlı koşul (WHERE ile birlikte kullanılır).
- sütun1 sütun2: Gruplandırmanın uygulandığı sütunlar.
GROUP BY örnekleri
Öğrenci tablomuzun olduğunu varsayalım. Bu tabloya bazı örnek veriler ekleyeceğiz ve ardından satırları bir sütuna göre nasıl gruplandırdığını ve verileri nasıl topladığını anlamak için GROUP BY kullanarak işlemler gerçekleştireceğiz.
Örnek 1: Tek Sütuna Göre Gruplama
Tek bir sütuna göre grupladığımızda o sütundaki aynı değere sahip satırlar birleştirilir. Örneğin konuya göre gruplama, her derse kaç öğrencinin kayıtlı olduğunu gösterir.
Sorgu:
java bildirimi
SELECT subject COUNT(*) AS Student_Count FROM Student GROUP BY subject;Çıkış:
Açıklama: Her konu tabloda iki kez göründüğünden İngilizce Matematik ve Bilim için sayı 2'dir.
Örnek 2: Birden Çok Sütuna Göre Gruplama
GROUP BY'yi birden çok sütunla kullanmak, bu sütunlarda aynı değerleri paylaşan satırları gruplandırır. Örneğin konuya ve yıla göre gruplandırma aynı konu-yıl çiftine sahip satırları birleştirir ve her gruba kaç öğrencinin düştüğünü sayabiliriz.
Sorgu:
SELECT subject year COUNT(*) FROM Student GROUP BY subject year;Çıkış:
Açıklama: Aynı konu ve yıla sahip öğrenciler bir araya toplanır. Her konu-yıl çifti iki kez gerçekleştiğinden, her grup için sayım 2'dir.
GROUP BY Maddesinde HAVING Maddesi
HAVING yan tümcesi, özellikle SUM() COUNT() veya AVG() gibi toplama işlevleriyle çalışırken gruplamadan sonra sonuçları filtrelemek için kullanılır. WHERE'den farklı olarak gruplandırılmış verilere koşullar uygular.
Örnek 1: Toplam Maaş'a göre filtreleme
Bu sorguda çalışanları isimlerine göre gruplandırıyoruz ve yalnızca toplam maaşı 50.000'den büyük olanları görüntülüyoruz.
SELECT NAME SUM(sal) FROM Emp GROUP BY name HAVING SUM(sal)>50000; Çıkış
yöntem alt dizesi Java
Açıklama : Sonuçta yalnızca toplam maaşı 50000'i aşan çalışanlar görünür.
Örnek 2: Ortalama Maaş'a Göre Filtreleme
Bu sorguda çalışanları yaşlarına göre gruplandırıyoruz ve yalnızca ortalama maaşın 60.000'in üzerinde olduğu yaş gruplarını gösteriyoruz.
SELECT age AVG(sal) AS Average_Salary FROM emp GROUP BY age HAVING AVG(sal) > 60000;Çıkış:
Açıklama: Bu sorgu, çalışanları yaşa göre gruplandırır ve her yaş için ortalama maaşı hesaplar. Yalnızca ortalama maaşın 60.000'den fazla olduğu yaş grupları görüntülenir.
Test Oluştur