Topluluk Fonksiyonları nedir?
Bir veya birden fazla Ms Sql tablosundaki verilerin özetlerini almak için kullandığımız fonsiyonlara topluluk fonskiyonları denir , gayet ansiklopedik bir açıklama olduğunun farkındayım.Aslında buraya birde gülücük koymak isterdim.
Evet Topluluk Fonksiyonlarıyla uğraşacağız bu blogta buyrun devam edelim
Topluluk fonksiyonları Transact-Sql de bilindiği gibi 3 farklı grup altında değerlendirilebilir. Bunlar İşlevsel topluluk,İstatistiksel ve Süper Topluluklar dır- ki en çok kullanılan fonksiyonlar genelde İşlevsel ve Süper Topluluk fonksiyonlarıdır. Birazdan resimleri ve bilgilerini anlatmaya çabalayacağım fonksiyonlarda bunlarda oluşacaktır.Topluluk fonksiyonları ile bilmeniz ve blog sonunda net olarak aklınızda kalacak en önemli bilgi şu olmalıdır.Transact Sql topluluk fonksiyonları tek bir değer değil, bir değer kümesi üzerinde çalışmaktır.
Gelelim konunun Database oluşumuna; Hazır Veritabanı yedeklemediğim bilgisayarımda malesef her blogta yeni bir veritabanı oluşturmam gerekiyor elbette bende öyle yapıp yeni bir Ms Sql Database oluşturdum.Bu database'in konusu ise şu olacak; Bir table içinde Kasiyerlerim olacak bu kasiyerlerimin günlük nakit ve kartlı satışlarını kaydedeceğim sonra bunlara blog konum olan Transact-Sql Topluluk Fonksiyonlarından bir kaçını uygulayacağım.Cash adını verdiğim Ms Sql Tablomun görünümü ve içerisindeki veri tipleri şöyle oldu...
görüldüğü üzere gayet basit bir kaç alandan oluşan tablom budur.Şimdi içine bir kaç veri girmem gerekiyordu bunuda isim bulmakta zorlandığım için yine absürd isimlerle doldurdum.Ama kimse örneklerimin kötü olduğunu ileri süremez...
Evet hiç fena değil !... Türkücülerden kasiyer yaparak Transact-Sql anlatan bu blogta artık verilerimizde hazır olduğuna göre bakalım şu Topluluk Fonksiyonları ne işe yarıyor?
İşlevsel Fonksiyonlar:
MIN -MAX -SUM -AVG -COUNT ve COUNT_BIG
Bunlara ek olarak bir kaç fonksiyon daha var fakat onları OLAP ve Ms Sql İş Zekası bloglarımda yazmayı planladığımdan, saydığım bu T-sql fonksiyonlarıda konuyu anlatmama yeterli olacaktır.
Tüm topluluk fonksiyonlarımız sadece bir argümanla çalışabilirler bu bir deyim yada sütün olabilir sadece COUNT bu tanımın dışındadır.Tüm fonksiyon sonuçlarımız sabir bir değerdir ve ayrı bir sutünda gösterilebilir.
Yukarıdaki Ms Sql Table yapısına ve verilerine tekrar göz atın ve örnek sonuçları inceleyin.
T-SQL MIN - En düşük değeri bulun
SELECT MIN (Cash) FROM Cash
En düşün nakit değerini bulmak istediğim basit bir MIN Fonksiyonu kullanımı
SELECT Cash,CashierName
FROM Cash
WHERE Cash =(SELECT MIN (Cash) FROM Cash)
En düşük nakit değerin hangi kasiyere ait olduğunu bulmak için alt sorgum içinde MIN fonksiyonu kullandım.
T-SQL MAX - En yüksek değeri bulun
Bir veya birden fazla Ms Sql tablosundaki verilerin özetlerini almak için kullandığımız fonsiyonlara topluluk fonskiyonları denir , gayet ansiklopedik bir açıklama olduğunun farkındayım.Aslında buraya birde gülücük koymak isterdim.
Evet Topluluk Fonksiyonlarıyla uğraşacağız bu blogta buyrun devam edelim
Topluluk fonksiyonları Transact-Sql de bilindiği gibi 3 farklı grup altında değerlendirilebilir. Bunlar İşlevsel topluluk,İstatistiksel ve Süper Topluluklar dır- ki en çok kullanılan fonksiyonlar genelde İşlevsel ve Süper Topluluk fonksiyonlarıdır. Birazdan resimleri ve bilgilerini anlatmaya çabalayacağım fonksiyonlarda bunlarda oluşacaktır.Topluluk fonksiyonları ile bilmeniz ve blog sonunda net olarak aklınızda kalacak en önemli bilgi şu olmalıdır.Transact Sql topluluk fonksiyonları tek bir değer değil, bir değer kümesi üzerinde çalışmaktır.
Gelelim konunun Database oluşumuna; Hazır Veritabanı yedeklemediğim bilgisayarımda malesef her blogta yeni bir veritabanı oluşturmam gerekiyor elbette bende öyle yapıp yeni bir Ms Sql Database oluşturdum.Bu database'in konusu ise şu olacak; Bir table içinde Kasiyerlerim olacak bu kasiyerlerimin günlük nakit ve kartlı satışlarını kaydedeceğim sonra bunlara blog konum olan Transact-Sql Topluluk Fonksiyonlarından bir kaçını uygulayacağım.Cash adını verdiğim Ms Sql Tablomun görünümü ve içerisindeki veri tipleri şöyle oldu...
görüldüğü üzere gayet basit bir kaç alandan oluşan tablom budur.Şimdi içine bir kaç veri girmem gerekiyordu bunuda isim bulmakta zorlandığım için yine absürd isimlerle doldurdum.Ama kimse örneklerimin kötü olduğunu ileri süremez...
Evet hiç fena değil !... Türkücülerden kasiyer yaparak Transact-Sql anlatan bu blogta artık verilerimizde hazır olduğuna göre bakalım şu Topluluk Fonksiyonları ne işe yarıyor?
İşlevsel Fonksiyonlar:
MIN -MAX -SUM -AVG -COUNT ve COUNT_BIG
Bunlara ek olarak bir kaç fonksiyon daha var fakat onları OLAP ve Ms Sql İş Zekası bloglarımda yazmayı planladığımdan, saydığım bu T-sql fonksiyonlarıda konuyu anlatmama yeterli olacaktır.
Tüm topluluk fonksiyonlarımız sadece bir argümanla çalışabilirler bu bir deyim yada sütün olabilir sadece COUNT bu tanımın dışındadır.Tüm fonksiyon sonuçlarımız sabir bir değerdir ve ayrı bir sutünda gösterilebilir.
Yukarıdaki Ms Sql Table yapısına ve verilerine tekrar göz atın ve örnek sonuçları inceleyin.
T-SQL MIN - En düşük değeri bulun
SELECT MIN (Cash) FROM Cash
En düşün nakit değerini bulmak istediğim basit bir MIN Fonksiyonu kullanımı
SELECT Cash,CashierName
FROM Cash
WHERE Cash =(SELECT MIN (Cash) FROM Cash)
En düşük nakit değerin hangi kasiyere ait olduğunu bulmak için alt sorgum içinde MIN fonksiyonu kullandım.
T-SQL MAX - En yüksek değeri bulun
SELECT Card,CashierName
FROM Cash
WHERE Card =(SELECT MAX (Card) FROM Cash)
MIN fonksiyonu kullanımına benzer bu kez En Yüksek Kartlı satışı bulmak istedim.
MIN ve MAX fonksiyonları anlaşıldığı gibi en düşük ve en yüksek sayısal (int) veri tipleriniz üzerinde çalışabilmektedir.
T-SQL SUM - Bir değer sutünun toplamını bulun.
SELECT SUM (Cash) Cash FROM Cash
Bu fonksiyon ile Toplam nakit değerimi aldım
SUM fonksiyonuda numerik ve toplam almak istenilen sutünlarda işimize yarayacaktır.
T-SQL AVG - Belirttiğiniz değerin ortalamasını bulun.
SELECT AVG (Cash)
AvgCash FROM cash WHERE Cash < 50
50 den az olan nakit satışların ortalamasını bulmak için kullandığım AVG fonksiyonu ile sonucu almış oldum.
T-SQL COUNT - Bir sütuna göre diğer bir değer sayısını bulun.
SELECT CashDate,
COUNT (DISTINCT CashierName) CashierSaıyısı
FROM Cash
GROUP BY CashDate
Tüm tarihler içinde, her gün kaç kasiyerin veri kaydettiğini COUNT fonksiyonu ile buldum.
Şimdi burada biraz durup COUNT fonksiyonu için bir kaç açıklama daha yapmalıyız.Dizim içerisinde kullandığım DISTINCT anahtar sözcüğü COUNT ile kullanıldığında görüldüğü gibi bir guruplama işlemi gerçekleşmiş fakat CashierName isimleri görüntülenmemiştir.Bunun nedenini DISTINCT ile CashierName Field'da bulunan Kasiyerlerin sayısını almak için kullanmış olmamdır.DISTINCT anahtar sözcüğünü bundan sonraki bloglarda sıkça göreceksiniz.COUNT ve COUNT_BIG - COUNT(*) kullanımı birbiri ile aynıdır sadece dönen veri tipi COUNT_BIG Fonksiyonunda BIGINT veri tipindedir.
İstatiksel Topluluk Fonksiyonları:
VAR - VARP - STDEV - STDEVP
Bu fonksiyonlar ise İstatiksek Topluluk fonksiyonları grubuna aittirler ve kısaca kullanımları şu şekilde olabilmektedir.
T-SQL VAR - VARP Varyasyon ve popülasyon değerlerini bulun.
SELECT VAR (Cash) variance FROM Cash
Cash sutünumdaki Nakit tüm değerlerinin değişiklik yani varyasyanonu VAR İstatiksel Topluluk Fonksiyonu ile aldım.
SELECT VARP(Cash) populate FROM Cash
Cash sutünundaki Nakit değerlerinin değer popülasyon değişiklik değerini aldım
T-SQL STDEV - STDEVP Varsyasyon ve popülasyonun standart sapmalarını bulun.
SELECT STDEV (Cash) populate FROM Cash
Her iki İstatiksel fonksiyonun kullanımı aynı olup sonuçları varyasyon ve populasyon değerleri olarak birbirinden farklıdır.
Süper Topluluk Fonksiyonları:
CUBE ve ROLLUP Operatörleri
Süper Topluluk Fonksiyonları işlemleri ve T-SQL Query özellikleri malesef örnekteki küçük bir table ile anlatamıyacağım.Zira CUBE ve ROLLUP uygulama alanı veri ambarlarıdır.Veri ambarlamak, veri küpleri içinde bu oparatörlerin kullanımını Ms Sql İş Zekası ve OLAP konulu yazmayı planladığım bloglarda görebileceksiniz.
Evet Ms Sql Topluluk fonksiyonları konumuza burada bir virgül koyalım.Bu blog altında yazmam gereken HAVING - ORDER BY- GROUP BY gibi kalıpları bir sonraki "Ms Sql Server ve Transact Sql Topluluk Fonksiyonları -2" ismini taşıyacak blogtan tekrar gelerek izleyebilirsiniz.
SELECT AVG (Cash)
AvgCash FROM cash WHERE Cash < 50
50 den az olan nakit satışların ortalamasını bulmak için kullandığım AVG fonksiyonu ile sonucu almış oldum.
T-SQL COUNT - Bir sütuna göre diğer bir değer sayısını bulun.
SELECT CashDate,
COUNT (DISTINCT CashierName) CashierSaıyısı
FROM Cash
GROUP BY CashDate
Tüm tarihler içinde, her gün kaç kasiyerin veri kaydettiğini COUNT fonksiyonu ile buldum.
Şimdi burada biraz durup COUNT fonksiyonu için bir kaç açıklama daha yapmalıyız.Dizim içerisinde kullandığım DISTINCT anahtar sözcüğü COUNT ile kullanıldığında görüldüğü gibi bir guruplama işlemi gerçekleşmiş fakat CashierName isimleri görüntülenmemiştir.Bunun nedenini DISTINCT ile CashierName Field'da bulunan Kasiyerlerin sayısını almak için kullanmış olmamdır.DISTINCT anahtar sözcüğünü bundan sonraki bloglarda sıkça göreceksiniz.COUNT ve COUNT_BIG - COUNT(*) kullanımı birbiri ile aynıdır sadece dönen veri tipi COUNT_BIG Fonksiyonunda BIGINT veri tipindedir.
İstatiksel Topluluk Fonksiyonları:
VAR - VARP - STDEV - STDEVP
Bu fonksiyonlar ise İstatiksek Topluluk fonksiyonları grubuna aittirler ve kısaca kullanımları şu şekilde olabilmektedir.
T-SQL VAR - VARP Varyasyon ve popülasyon değerlerini bulun.
SELECT VAR (Cash) variance FROM Cash
Cash sutünumdaki Nakit tüm değerlerinin değişiklik yani varyasyanonu VAR İstatiksel Topluluk Fonksiyonu ile aldım.
SELECT VARP(Cash) populate FROM Cash
Cash sutünundaki Nakit değerlerinin değer popülasyon değişiklik değerini aldım
T-SQL STDEV - STDEVP Varsyasyon ve popülasyonun standart sapmalarını bulun.
SELECT STDEV (Cash) populate FROM Cash
Her iki İstatiksel fonksiyonun kullanımı aynı olup sonuçları varyasyon ve populasyon değerleri olarak birbirinden farklıdır.
Süper Topluluk Fonksiyonları:
CUBE ve ROLLUP Operatörleri
Süper Topluluk Fonksiyonları işlemleri ve T-SQL Query özellikleri malesef örnekteki küçük bir table ile anlatamıyacağım.Zira CUBE ve ROLLUP uygulama alanı veri ambarlarıdır.Veri ambarlamak, veri küpleri içinde bu oparatörlerin kullanımını Ms Sql İş Zekası ve OLAP konulu yazmayı planladığım bloglarda görebileceksiniz.
Evet Ms Sql Topluluk fonksiyonları konumuza burada bir virgül koyalım.Bu blog altında yazmam gereken HAVING - ORDER BY- GROUP BY gibi kalıpları bir sonraki "Ms Sql Server ve Transact Sql Topluluk Fonksiyonları -2" ismini taşıyacak blogtan tekrar gelerek izleyebilirsiniz.
Bu Yazının Sponsorları
Yorumlar
Yorum Gönder