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
Örnek Sorgu 1: SELECT MAX(UnitPrice) AS Maksimum_Fiyat FROM Products
(Ürünler (Products) tablosundaki en yüksek fiyatlı ürünü listeleyelim.)
(Ü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.
(Toplam kaç adet malın sipariş verildiğini bulalım.)
(22 kayıt numaralı tedarikçiye ait ürünlerin tekil değerilerinin ortalama fiyatını almak isteyelim.)