Aggregate Function etiketine sahip kayıtlar gösteriliyor.
Aggregate Function etiketine sahip kayıtlar gösteriliyor.

GROUPING Fonksiyonu

  • SQL Server'da Fonksiyonlar, hesaplamalarda ve özellikle sistem hakkında bilgi almada yaygın olarak kullanılan araçlardır. Transact-SQL (T-SQL) programlama dilinde değişik kategorilerle adlandırılan fonksiyonlar vardır. Bunlardan en yaygını veriler üzerinde işlem yapan toplama ya da gruplama olarak adlandırabileceğimiz aggregate fonksiyonlarıdır. 
  • GROUPING Aggregate (Gruplama) Fonksiyonudur.
  • GROUP BY ile kullanılan ROLLUP ve CUBE ile elde edilen sonuç listesini GROUPING fonksiyonu daha kolay değerlendirip yorumlamamızı sağlar. 
  • Sütunlarda özet bilgiler için 1, detay bilgiler için 0 değeri görüntülenir.
NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu 

Örnek Sorgu :
SELECT OrderID, GROUPING(OrderID), ProductID,GROUPING(ProductID), SUM(quantity) AS 'Toplam Sipariş'
FROM [order details] WHERE OrderID < 10250
GROUP BY OrderID, ProductID WITH CUBE ORDER BY OrderID, ProductID


Sorgumuzda sütunlara dikkat edelim. OrderID alanı NULL olarak görünen kayıtlar tüm siparişlerdeki ürünlerin toplamlarını göstermektedir.

SQL'de AVG, MAX, MIN, SUM, COUNT Fonksiyonlarının Kullanımları

Aggregate Function (Hesaplama Fonksiyonları)

Bazen tablolar üzerinde kayıtların listelenmesi yerine kayıtlar üzerinde hesaplamalar yaptırarak sonuçların listelenmesine ihtiyaç duyarız. Bu nedenle tüm kayıtları döndürmeden sadece matematiksel sonuçlar döndürmemiz gerekebilir. SQL bu gibi durumlar için özel fonksiyonlar sunmaktadır. Bu Fonksiyonlara Aggregate Function (Hesaplama Fonksiyonları) denir.

Peki bu fonksiyonlar bizlere neler sunmaktadır ;
  • Sutundaki tüm değerlerin toplamını bulmak.
  • Sutundaki tüm degerlerin ortalamasını bulmak.
  • Sutundaki en büyük veya en küçük değeri bulmak.
  • Toplam kayıt sayılarını hesaplamak.
Aggregate Function (Hesaplama Fonksiyonları)


Not : Hesaplama fonksiyonları kullanılırken NULL değerler dikkate alınmamaktadır.


 

MAX ve MIN Fonksiyonları Kullanımı
  • MAX fonksiyonu, bir sütundaki en yüksek değeri verir. 
  • Boş (NULL) değerler işleme katılmaz. 
  • MAX fonksiyonu alfabetik sıralamadaki ilk metinsel ifadeyi de bulmamızı sağlar.
  • MIN fonksiyonu bir sütundaki kayıtlardaki en küçük değeri verir. 
  • Boş (NULL) değerler işleme katılmaz.   
  • MIN fonksiyonuda MAX fonksiyonu gibi alfabetik sıralamadaki son metinsel ifadeyi  bulmamızı sağlar
NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu 

Örnek Sorgu 1: SELECT MAX(UnitPrice) AS Maksimum_Fiyat FROM Products
(Ürünler (Products) tablosundaki en yüksek fiyatlı ürünü listeleyelim.)  
 
 
Örnek Sorgu 2: SELECT MIN(UnitPrice) AS Minimum_Fiyat FROM Products
(Ürünler (Products) tablosundaki en küçük fiyatlı ürünü listeleyelim.) 


Örnek Sorgu 3: SELECT MAX(CompanyName) AS En_Sondaki_Müşteri FROM Customers
(Alfabetik listeye göre en sonda yer alan müşteriyi görüntüleyelim.)  
 
 
SUM, AVG ve COUNT Fonksiyonları Kullanımı
  • SUM fonksiyonu belirtilen sütundaki sayısal değerlerin bir toplamını geri döndürür. 
  • AVG fonksiyonu belirtilen sütundaki ortalama değeri verir. 
  • AVG hesaplama sırasında boş (NULL) değerleri işleme almaz.
  • SQL'de COUNT Kullanımı için tıklayınız.
Örnek Sorgu 4: SELECT SUM(Quantity) AS Toplam_Ürün FROM [Order Details]
(Toplam kaç adet malın sipariş verildiğini bulalım.) 


Örnek Sorgu 5: SELECT AVG(DISTINCT UnitPrice) AS tekil_ortalama_deger  FROM Products WHERE SupplierID = 22
(22 kayıt numaralı tedarikçiye ait ürünlerin tekil değerilerinin ortalama fiyatını almak isteyelim.)