MySQL GROUP BY ve aggregate fonksiyonlar nasıl kullanılır? (COUNT, SUM, AVG, MIN, MAX)

MySQL’de GROUP BY Ifadesi

MySQL’de GROUP BY ifadesi, bir veya daha fazla sütuna dayanarak sonuç kümesini gruplamak için kullanılır. Bu ifade, genellikle aggregate fonksiyonlarıyla birlikte kullanılır. GROUP BY, belirli bir sütundaki aynı değerlere sahip tüm satırları bir araya getirerek işlemleri daha anlamlı hale getirir. Örneğin, bir satış veritabanında, ürün kategorilerine göre toplam satışları bulmak için GROUP BY kullanılabilir.

Aggregate Fonksiyonlar

Aggregate fonksiyonlar, belirli bir grup üzerindeki hesaplamaları gerçekleştiren fonksiyonlardır. MySQL içerisinde yaygın olarak kullanılan aggregate fonksiyonlar şunlardır:

– COUNT(): Belirli bir sütundaki toplam satır sayısını döndürür.
– SUM(): Belirli bir sütundaki değerlerin toplamını verir.
– AVG(): Belirli bir sütundaki değerlerin ortalamasını hesaplar.
– MIN(): Belirli bir sütundaki en küçük değeri bulur.
– MAX(): Belirli bir sütundaki en büyük değeri belirler.

COUNT() Fonksiyonu Kullanımı

COUNT() fonksiyonu, bir sorguda döndürülen satırların sayısını belirtir. Örneğin, bir “müşteriler” tablosu üzerinden kayıtlı müşteri sayısını bulmak için aşağıdaki sorgu kullanılabilir:

“`sql
SELECT COUNT() AS toplam_musteri
FROM musteriler;
“`

Bu sorgu, “musteriler” tablosundaki toplam müşteri sayısını döndürecektir. İlgili sütunda boş olmayan satırları saymak için spesifik bir sütun da belirlenebilir:

“`sql
SELECT COUNT(email) AS toplam_email
FROM musteriler;
“`

Bu sorgu, “musteriler” tablosundaki e-posta adresi kayıtlı olan müşteri sayısını döndürür.

SUM() Fonksiyonu Kullanımı

SUM() fonksiyonu, belirli bir sütundaki tüm değerlerin toplamını hesaplamak için kullanılır. Örneğin, “siparisler” tablosundaki tüm siparişlerin toplam tutarını bulmak için aşağıdaki sorgu kullanılabilir:

“`sql
SELECT SUM(tutar) AS toplam_tutar
FROM siparisler;
“`

Bu sorgu, “siparisler” tablosundaki “tutar” sütunundaki tüm değerlerin toplamını verir.

AVG() Fonksiyonu Kullanımı

AVG() fonksiyonu, belirli bir sütundaki tüm değerlerin ortalamasını hesaplar. Örneğin, bir “notlar” tablosunda öğrencilerin not ortalamasını bulmak için kullanılabilir:

“`sql
SELECT AVG(not) AS ortalama_not
FROM notlar;
“`

Bu sorgu, “notlar” tablosundaki “not” sütunundaki değerlerin ortalamasını döndürür.

MIN() ve MAX() Fonksiyonları Kullanımı

MIN() ve MAX() fonksiyonları, belirli bir sütundaki en küçük ve en büyük değerleri bulur. Örneğin, bir “urunler” tablosunda ürün fiyatları üzerinden en düşük ve en yüksek fiyatı bulmak için şu sorgular kullanılabilir:

“`sql
SELECT MIN(fiyat) AS en_dusuk_fiyat
FROM urunler;

SELECT MAX(fiyat) AS en_yuksek_fiyat
FROM urunler;
“`

Bu ifadeler, “urunler” tablosundaki “fiyat” sütunundaki en düşük ve en yüksek değerleri döndürür.

GROUP BY ile Birlikte Kullanım

Aggregate fonksiyonlar genellikle GROUP BY ifadesi ile birleştirilerek kullanılır. Örneğin, bir “siparisler” tablosunda her bir müşterinin toplam sipariş tutarını bulmak için aşağıdaki gibi bir sorgu oluşturulabilir:

“`sql
SELECT musteri_id, SUM(tutar) AS toplam_tutar
FROM siparisler
GROUP BY musteri_id;
“`

Bu sorgu, her bir müşteri için toplam sipariş tutarını döndürecektir. Burada “musteri_id” sütunu üzerinden gruplama yapılmaktadır.

Birden Fazla Aggregate Fonksiyonu Kullanma

GROUP BY ifadesi ile birlikte birden fazla aggregate fonksiyonu da kullanmak mümkündür. Örneğin, her bir ürün kategorisi için en düşük ve en yüksek fiyatı bulmak için şu sorgu kullanılabilir:

“`sql
SELECT kategori, MIN(fiyat) AS en_dusuk_fiyat, MAX(fiyat) AS en_yuksek_fiyat
FROM urunler
GROUP BY kategori;
“`

Bu sorgu, her kategori için en düşük ve en yüksek ürün fiyatını döndürecektir.

GROUP BY ile Sıralama

GROUP BY ifadesi ile elde edilen sonuçlar, ORDER BY ifadesi ile sıralanabilir. Örneğin, her bir ürün kategorisinin toplam satış tutarlarını büyükten küçüğe sıralamak için şu sorgu yapılabilir:

“`sql
SELECT kategori, SUM(tutar) AS toplam_tutar
FROM siparisler
GROUP BY kategori
ORDER BY toplam_tutar DESC;
“`

Bu sorgu, her kategori için toplam satış tutarını döndürür ve sonuçları en yüksekten en düşüğe doğru sıralar.

Sonuç

MySQL’de GROUP BY ifadesi ve aggregate fonksiyonlar, verilerin daha analitik bir biçimde incelenmesini sağlar. COUNT(), SUM(), AVG(), MIN() ve MAX() gibi fonksiyonlar, gruplama işlemleriyle birlikte kullanıldığında, veri analizinde büyük kolaylıklar sunar. Bu teknikler, veri tabanları üzerinde çeşitli sorgular gerçekleştirerek anlamlı sonuçlar elde edilmesine olanak tanır.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR