Sql Sayısal Fonksiyonlar
COUNT: Sorgu sonucu geriye dönen verilerin satırlarını veya herhangi bir kolon içinde yer alan verilerin (NULL verileri saymaz, hesaba katmaz) sayısını elde etmek için kullanılır.
SUM: Sayısal değerleri numerik olarak toplamak için kullanılır.
AVG: Sayısal değerlerin ortalamasını bulur.
MIN: Herhangi bir veri kümesindeki en küçük değeri bulur. Sayısal değerler üzerinde kullanılabildiği gibi string değerler üzerinde de kullanılabilir.
MAX: Herhangi bir veri kümesindeki en büyük değeri bulur. Sayısal değerler üzerinde kullanılabildiği gibi string değerler üzerinde de kullanılabilir.
Bu fonksiyonları kullanırken bazı dikkat edilecek noktalar vardır. Bu noktalar :
Syntax yani söz dizimi olarak kullanımı aşağıdaki gibidir :
SELECT Kullanılacak Fonksiyon (KolonAdı) FROM TabloAdı
Şimdi bir kaç uygulama ile yazımıza devam edelim. AdventureWorks2012 veri tabanı üzerinde çalışıyorum.
1
2
3
| SELECT COUNT (*) AS "Satır Sayısı" , MAX (TotalDue) AS "Maksimum Değer" , MIN (TotalDue) AS "Minimum Değer" , SUM (TotalDue) AS "Toplam Değer" , AVG (TotalDue) AS "Ortalama Değer" FROM Sales.SalesOrderHeader |
Sorgumuzda Sales.SalesOrderHeader tablosundaki TotalDue kolonunda yer alan tüm veriler için, bunu asterisk (*) kullanarak belirtiyoruz, verilerin sayıları (COUNT), veriler içindeki maksimum değer (MAX), veriler içindeki minimum değer (MIN), verilerin değerlerinin toplamını (SUM ve verilerin değerlerinin toplamının ortalamasını (AVG) ile listeliyoruz.
Bir diğer sorgumuz :
1
2
3
| SELECT MIN ( Name ) AS "En Kısa İsim" , MAX ( Name ) AS "En Uzun İsim" , MIN (SellStartDate) AS "Satış Tarihleri İçinde En Erken Tarih" , MAX (SellStartDate) AS "Satış Tarihleri İçinde En Geç Tarih" FROM Production.Product |
Bu sorgumuzda da Production.Product tablosundaki en uzun ve en kısa isimleri NAME kolonundaki veriler içinden listeliyoruz. Aynı zamanda yine MIN ve MAX fonksiyonunu kullanarak aynı tablo üzerindeki SellStartDate kolonundaki yapılan satışların bilgisi içinden en erken ve en geç olan satışların tarihlerini listeliyoruz.
Şimdi de Sales.Customer tablosunda yer alan müşterilerin kaç tane olduğunu bulan sorguyu yazalım :
1
| SELECT COUNT (*) AS "Müşteri Sayısı" FROM Sales.Customer |
Sales.SalesOrderDetail tablosunda yer alan sipariş edilen ürünlerin toplam sayısını bulalım :
1
| SELECT SUM (OrderQty) AS "Toplam Sipariş Edilen Ürün Sayısı" FROM Sales.SalesOrderDetail |
Sales.SalesOrderDetail tablosunda UnitPrice kolonundaki veriler içinde yer alan en pahalı sipariş edilen ürünün fiyat bilgisini listeleyelim :
1
2
| SELECT MAX (UnitPrice) AS "En Pahalı Sipariş Edilen Ürün Fiyatı" FROM Sales.SalesOrderDetail |
Sales.SalesOrderHeader tablosunda Freight kolonunda yer alan bilgilere göre ortalama yüm miktarını bulalım.
1
| SELECT AVG (Freight) AS "Ortalama Yük Miktarı" FROM Sales.SalesOrderHeader |
Production.Product tablosundaki ListPrice kolonunda yer alan verilere göre bu veriler içindeki minimum, maksimum ve ortalama değeri bulalım.
1
2
| SELECT MIN (ListPrice) AS "Minimum Fiyat" , MAX (ListPrice) AS "MAksimum Fiyat" , AVG (ListPrice) AS "Ortalama Fiyat" FROM Production.Product |
Yorumlar
Yorum Gönder