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 :
  • AVG ve SUM fonksiyonları sadece sayısal değerler üzerinde kullanılabilirler.
  • MIN, MAX ve COUNT fonksiyonları sayısal, string ve geçici veri sütunları üzerinde kullanılabilirler.
  • Bu fonksiyonlar TEXT, NTEXT ve IMAGE veri tipindeki kolonlar üzerinde kullanılmaz.
  • Bu fonksiyonlar NULL değerleri hesaba katmaz, yok sayar. Özellikle COUNT işlemleri için bu duruma dikkat etmek gerekir.
  • Eğer COUNT ile birlikte asterisk yani (*) kullanılırsa tüm satırların verilerini (kolonda NULL veri olsa bile) sayabiliriz.
  • Toplama fonksiyonunun kullanıldığı bir sorgu artık toplama işlevli bir sorgu olmuş olur.
  • 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.
    2013031301
    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.
    2013031302
    Ş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
    2013031303
    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
    2013031304
    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
    2013031305
    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
    2013031306
    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
    2013031307

    Yorumlar