ANASAYFA | BLOG | SORU CEVAP | REFERANSLARIM | DOWNLOAD | HAKKIMDA | İLETİŞİM | ARAMA
SQL AGGREGATE FONKSİYONLARI

SQL işlemlerimizde herzaman direk tablo sorgulamayız. Bu işlemi dolaylı olarak yada tablodaki verilere göre satır sayısı cinsinden vs. yapabiliriz. Biraz daha genişletmek gerekirse sorguladığımız tablodaki istediğimiz kolana göre;

  • Değerlerin toplamını            > SUM()
  • Değerlerin ortalamasını       > AVG()
  • En büyük olan kolonu         > MAX()
  • En küçük olan kolonu         > MIN()
  • Toplam kayıt sayısını          > COUNT()

bulabiliriz. Şimdi sıra ile bu işlemleri nasıl yaptığımızı örneklerle inceleyelim

FK-gizle

işlemlere geçmeden önce üzerinde çalışacağımız satışlar tablosuna bi göz atalım

select * from tbSatislar

id il kisi tutar
1 ANKARA Emre ÜNAL 1500
2 ANKARA Bünyamin AKTAŞ 1250
3 ŞANLIURFA Halil ADEMOĞLU 1000
4 KAHRAMANMARAŞ Selçuk ÇÜGEN 1750
5 ESKİŞEHİR Özlem MELEK 1300
6 ESKİŞEHİR Faruk ÜNAL 1450
7 ANKARA Alihsan GÜROL 1900
8 ŞANLIURFA Cahit ÇEÇEN 1500
9 ANKARA Faruk ÜNAL 1000
10 KAHRAMANMARAŞ Selçuk ÇÜGEN 1250
11 ESKİŞEHİR Faruk ÜNAL 650
12 ANKARA Faruk ÜNAL 400

 

 

SUM() - TOPLAM

Kolondaki değerlerin toplamlarını hesaplama işleminde kullanılır. örneğin satışlar tablomuzda yaptığımız satış tutarlarının toplamını alarak toplamda ne kadar satış yaptığımızı SUM() fonksiyonu ile kolayca hesaplayabiliriz.

select sum(tutar) from tbSatislar

Column1
14950

Gördüğünüz gibi toplam satış tutarını almış olduk. Birde illere göre toplam satışı görelim.

select il, sum(tutar) from tbSatislar Group by il

il Column1
ANKARA 6050
ESKİŞEHİR 3400
KAHRAMANMARAŞ 3000
ŞANLIURFA 2500

 

 

AVG() - ORTALAMA

Kolondaki değerlerin ortalamasını hesaplamada kullanılır. Örneğin genel olarak yaptığımız satışların ortalamasını almak istersek ( yani ortalama olarak her satışı kaçtan yaptığımızı öğrenmek istersek) şöyle bir sorgu yazabiliriz.

select AVG(tutar) from tbSatislar

Column1
1245.83333333333

tabloda gördüğümüz gibi ortalama satış tutarımızı öğrenmiş olduk. Şimdi de kişilere göre bir kişinin yaptığı ortalama satış tutarını öğrenmek istersek

select kisi,AVG(tutar) from tbSatislar group by kisi

kisi Column1
Alihsan GÜROL 1900
Bünyamin AKTAŞ 1250
Cahit ÇEÇEN 1500
Emre ÜNAL 1500
Faruk ÜNAL 875
Halil ADEMOĞLU 1000
Özlem MELEK 1300
Selçuk ÇÜGEN 1500

Bu tablodan da çalışan kişilerimizin yaptıkları ortalama satış tutarlarına göre performanslarını görüp primlerini vs. ayarlayabiliriz.

NOT: Eğer işlem yaptığımız kolon da NULL değer varsa orası yok sayılır ve ne toplama nede satır sayısına etkisi olmaz. Yani 5satırlık bi veride 1 satır NULL ise toplam 5e değil 4e bölünür.

 

 

MAX() - EN BÜYÜK

Kolondaki veriler üzerinde en büyük değerli olanı döndürür. Mesela en büyük satış tutarının ne kadar olduğunu öğrenmek istersek

select MAX(tutar) from tbSatislar

Column1
1900

şeklinde görebiliriz. Her il için yapılan en büyük satışı görmek istersek

select il, MAX(tutar) from tbSatislar Group by il

il Column1
ANKARA 1900
ESKİŞEHİR 1450
KAHRAMANMARAŞ 1750
ŞANLIURFA 1500

 

 

MIN() - EN KÜÇÜK

Kolondaki veriler üzerinde en küçükdeğerli olanı döndürür. Mesela en küçük satış tutarının ne kadar olduğunu öğrenmek istersek

select MIN(tutar) from tbSatislar

Column1
400

şeklinde görebiliriz. Her il için yapılan en küçük satışı görmek istersek

select il, MIN(tutar) from tbSatislar Group by il

il Column1
ANKARA 400
ESKİŞEHİR 650
KAHRAMANMARAŞ 1250
ŞANLIURFA 1000

 

COUNT() - KAYIT SAYISI

Tablodaki aradığımız kriterlerdeki toplam kayıt sayısını görmemizi sağlayan fonksiyondur. Örneğimize yine aynı tablodan devam edecek olursak toplam kaç adet satış girildiğini görmek için 

select COUNT(*) from tbSatislar

Column1
12

 

yada istediğimiz bir kolon üzerinden de satır sayısını öğrenebiliriz. COUNT(Kolon_Adı) şeklinde kullanarak belirttiğimiz kolondaki NULL olmayan satır sayısını öğrenebiliriz. Dilersek where ile koşul belirterek istediğimiz kriterde satır-kayıt sorgulaması yapabiliriz




Diğer Yazılarımdan Seçmeler...