MS SQL Dersleri – 12 AVG, COUNT ve SUM Kullanımı

Bu yazımızda MS SQL’in sıklıkla kullandığımız 3 matematiksel fonksiyonu olan AVG, COUNT ve SUM fonksiyonlarını inceliyor olacağız.

Öncelikle müşteri tablomuzda ki dataları görelim.

AVG Kullanımı

AVG fonksiyonu belirli bir alanda ki değerlerin ortalamısını verir. Örnek vermek gerekirse müşteri tablomuzun bakiye alanının ortalamasını alalım.

SELECT AVG(Bakiye) AS BakiyeOrtalama,
FROM dbo.Musteri

Sonucu incelediğimizde tablomuzda ‘Bakiye’ kolonunda bulunan 4 verinin ortalamasının bize döndüğünü görüyoruz. Peki belirli koşullara göre ortalama almak istersek. Örneğin soyadı Başal olan müşterilerin bakiye ortalamasını alalım.

SELECT AVG (Bakiye) AS BakiyeOrtalama
FROM dbo.Musteri
WHERE Soyadi = 'Başal'

Bu şekilde bize sadece Başal soyadlı müşterilerimizin bakiye ortalaması döndü.

COUNT Kullanımı

Daha önce GROUP BY konumuzda kullanmış olduğumuz COUNT fonksiyonu bir alanın veya bir tablonun kayıt sayısını bize döner

SELECT COUNT(*) AS Ornek1,
       COUNT(Bakiye) AS Ornek2
FROM dbo.Musteri

Sonuçları incelediğimizde ‘Ornek1’ ve ‘Ornek2’ her iki kullanım içinde tablomuzda ki kayıt sayısını verdiğini göreceksiniz. Belirli koşullara göre kayıt sayısını almak istersek, örneğin bakiyesi sıfır olan müşterilerin sayısını görmek isteyelim.

SELECT COUNT(Bakiye) AS KayitSayisi
FROM dbo.Musteri
WHERE Bakiye = 0

COUNT fonksiyonunun WHERE komutu ile kullanımı da bu şekildedir.

SUM Kullanımı

SUM fonksiyonu bir alanın toplamını bize döner. Örnek olarak bakiye alanımızın toplamını alalım.

SELECT SUM(Bakiye) AS BakiyeToplam
FROM dbo.Musteri

Bakiye alanımızın toplamını bu şekilde alabiliriz. Belirli şartlara uygun bir toplam almak gerekebilir. Örneğin soyadı Başal olan müşterilerimizin bakiye toplamını alalım.

SELECT SUM(Bakiye) AS KayitSayisi
FROM dbo.Musteri
WHERE Soyadi = 'Başal'

Yazımızda AVG, COUNT ve SUM fonksiyonlarının kullanımına değindik. Konuyla ilgili eksik gördüğünüz veya sormak istediğiniz sorular için mail adresimden veya yorumlardan bana ulaşabilirsiniz.

Share

Add a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir