Toplama Fonksiyonları (Aggregate Functions)

Eyl 08, 2013

Bir dizi değer üzerinde hesaplama yaparak sonuç değere ulaşan fonksiyonlara toplama fonksiyonları denir. Bu fonksiyonlar, T-SQL (Transact Structured Query Language - İşlemsel Yapısal Sorgulama Dili) programlama dilinde en yaygın olarak kullanılan sistem fonksiyonlarıdır. Toplama fonksiyonlarının aşağıdaki gibi oluşturulmuş bir tablo üzerinde kullanımları ve alınan sonuçlar şu şekildedir:

Sınav Tablosu:



AVG: Herhangi bir sütunun içerdiği sayısal değerlerin aritmetik ortalamasını hesaplamak amacıyla kullanılır. Bu fonksiyonun uygulandığı sütunun veri türü sayısalolmalıdır.

       Örnek:  SELECT AVG (puan) from dbo.sinav
       Sonuç:  72

BINARY_CHECKSUM: Tablonun verilen satırındaki ikilik tabandaki sağlama değerini yollar.

       Örnek: SELECT BINARY_CHECKSUM (*) FROM dbo.sinav WHERE isim='ogrenci1'
       Sonuç: 70802211

CHECKSUM: Tablonun verilen satırındaki sağlama değerini yollar.

       Örnek: SELECT CHECKSUM (*) FROM dbo.sinav WHERE isim='ogrenci1'
       Sonuç: -497886568

CHECKSUM_AGG: Boş değerler haricindeki verilerin sağlama değerini yollar. Fonksiyon kullanılırken tek bir veri tipinin sağlamasını yapar ve bu veri tipi sayısal olmalıdır.

       Örnek: SELECT CHECKSUM_AGG (puan) FROM dbo.sinav WHERE isim='ogrenci3'
       Sonuç: NULL

       Örnek: SELECT CHECKSUM_AGG (puan) FROM dbo.sinav WHERE isim='ogrenci2'  
       Sonuç: 55

COUNT: Bir tablodaki kayıtların sayılması amacıyla kullanılır. COUNT (*) fonksiyonu, NULL (boş) değerleri de içeren tüm kayıtların sayılmasını sağlar. COUNT(sütun) biçiminde kullanılırsa, söz konusu sütunda NULL değerler içermeyen tüm kayıtların sayılmasını sağlar.

       Örnek: SELECT COUNT(puan) FROM dbo.sinav
       Sonuç: 2

       Örnek: SELECT COUNT(*) FROM dbo.sinav
       Sonuç: 3

COUNT_BIG: Boş değerler hariç, girilen kolondaki satır sayısını yollar. COUNT () ile kullanımları aynıdır, sadece kullanılan veri tipi BIGINT veri tipidir. INT veri tipinin depolama baytı dört iken BIGINT'in depolama boyutu sekiz bittir.
       Örnek: SELECT COUNT_BIG (puan) FROM dbo.sinav
       Sonuç: 2

GROUPING: GROUP BY içinde olan sütunda bulunan değerlerin boş olup olmadığını kontrol eder. Tablodaki değeler süper topluluk fonksiyonlarının yardımı ile atanabilir, bu işlem için CUBE, ROLLUP veya GROUPING SETS operatörleri kullanılabilir. Bu operatörler veri depolamak için kullanılır. Yeni bir sütun oluşturarak dolu satırlara 0, boş satırlara 1 değerlerini verir. GROUP BY eldeki verileri gruplandırırken, ORDER BY sonuçların sıralaması için kullanılır.

       Örnek: SELECT puan,GROUPING(puan)AS grouping_ FROM dbo.sinav GROUP BY (puan) ORDER BY puan
         Sonuç:



GROUPING_ID: GROUP BY içinde olan sütunda bulunan değerlerin boş olup olmadığını kontrol eder. GROUPING'den farklı olarak birden çok sütun seçilebilir.

       Örnek: SELECT id,puan,GROUPING_ID (id,puan) AS grouping_id_ FROM dbo.sinav GROUP BY ROLLUP (id,puan) ORDER BY id
       Sonuç:



MAX: Referans sütuna göre en büyük değeri bulmakta kullanılır. BIT türünden alanlar için kullanılmaz.

       Örnek: SELECT MAX(puan) FROM dbo.sinav
       Sonuç: 90

MIN: Referans sütuna göre en küçük değeri bulmakta kullanılır. BIT türünde alanlar için kullanılmaz.

       Örnek: SELECT MIN(puan) FROM dbo.sinav
       Sonuç: 55

STDEV: Girilen kolondaki basit istatistiksel standart sapma değerini yollar. Standart sapma, sayısal verilerin aritmetik ortalamalardan farklarının kareli ortalaması olarak bilinir.

       Örnek: SELECT STDEV(puan) FROM dbo.sinav
       Sonuç: 24,7487373415292

STDEVP: Girilen kolondaki grup istatiksel standart sapma değerini yollar. Temel alınan sorgu STDEV fonksiyonunda ikiden az olduğunda, STDEVP fonksiyonunda ise hiç kayıt içermediğinde NULL değer döner.

       Örnek: SELECT STDEVP(puan) FROM dbo.sinav
       Sonuç: 17,5

SUM: İstenilen sütundaki değerlerin toplamını verir. Sayı türü olan veriler için geçerlidir.

       Örnek: SELECT SUM(puan) FROM dbo.sinav
       Sonuç: 145

VAR: Bir dizi sayısal değerin varyansını hesaplamak için bu fonksiyon kullanılır. Varyans, sayısal değerler arasındaki değişkenliği ölçen bir kavramdır; standart sapmanın karesi olarak bilinmektedir.

       Örnek: SELECT VAR(puan) FROM dbo.sinav
       Sonuç: 612,5

VARP: Bir grup sayısal değerin varyansını hesaplamak için kullanılır.

       Örnek: SELECT VARP(puan) FROM dbo.sinav
       Sonuç: 306,5