Son Haberler
Anasayfa / Etiket Arşivi: sql avg

Etiket Arşivi: sql avg

CUBE ve ROLLUP Deyimleri

Toplama fonksiyonu içeren sorgularımızda alt toplamalar oluşturabilmek için GROUP BY deyimi ile birlikte CUBE ve ROLLUP deyimlerini kullanabiliriz. CUBE ve ROLLUP birbirine çok benzemekle birlikte aralarında çok ince bir fark vardır. CUBE ile gruplandırılmış her seviyedeki birleşim için alt toplam oluşturabiliriz. ROLLUP ise hiyerarşinin tamamı için alt toplam oluşturabilir. Örneğin 3 tane sütunu gruplandırdığımızı düşünelim. CUBE ile her kolon için …

Devamını Oku »

GROUPING SETS Deyimi

GROUPING SETS deyimini toplama fonksiyonu içeren bir sorgu içinde kullandığımızda bu deyimi kullanarak aslında farklı gruplandırma düzeylerini birleştirmiş oluruz. Aslında bu çoklu toplama fonskiyonu içeren sorguları UNION deyimi ile birleştirmeye benzemektedir. Örneğin bir sütun için özetlenen veriler ile birlikte bir başka farklı sütun için özetlenen verileri birleştirmek istediğimizi farzedelim. Tıpkı MERGE gibi bu deyimi çoklu veriler için kullanabiliriz. Peki neden …

Devamını Oku »

Toplama Fonksiyonları Uygulamaları

Toplama fonksiyonlarının sorgu içinde toplama fonksiyonu olmayan kolonların sorgulanması hususunda bir kaç örnek yaparak yazıyı sonlandıralım. AdventureWorks veritabanı üzerinde örnek yapıyorum. 1) HumanResources.Employee tablosu ile Person.Person tablosunu birleştirerek her bir çalışan için FirstName, LastName, ve HireDate alanlarını listeleyelim. Burada her bir JobTitle için çalışan sayılarını toplama fonksiyonumda kullanacağım. Bunu yapabilmek içinde türetilmiş tablo kullanacağım. 2) Şimdi üstte yer alan sorguyu …

Devamını Oku »

OVER Deyiminin Toplama Fonksiyonları İle Birlikte Kullanılması

OVER deyimi toplama fonksiyonu içermeyen bir sorguya toplama fonksiyonlarının eklenebilmesi için kullanılabilir. Söz dizimi aşağıdaki gibidir : SELECT kolon1, toplama fonksiyonu(kolon2) OVER((PARTITION BY kolon3)) FROM tablo1 Bununla alakalı bir örnek yaparsak, adventureworks2012 veri tabanı üzerinde bir sorgu oluşturuyorum. Burada PARTITION BY ifadesi ile hesaplanan kolon üzerinde gruplama yapıyoruz. Bu gruplamayı da CustomerID alanına göre yapıyoruz. TumSatislar kısmına baktığımızda ise burada …

Devamını Oku »

Türetilmiş Tabloları ve CTE Kullanarak Detay Bilgi Listeleme

Bu yazımda bazı toplama fonksiyonu uygulanmış kolonlar ile birlikte toplama fonksiyonu uygulanmamış olan kolonların görüntülenmek istediğinde ne yapabiliriz buna değinmek istiyorum. Yapacağımız uygulama tüm sonuçları listeleme içinde büyük boyutlu bir dizi setini listeleme içinde aynıdır. Örneğin Sales.SalesOrderHeade tablosunda farklı bir kaç sütunu listelemek ile birlikte, tüm satışları baz alarak her bir satış için TotalDue alanının yüzdesini hesaplamak istiyorum. Eğer ben …

Devamını Oku »

CTE Kullanarak Toplama Fonksiyonlarının Sorgu İçinde Ayrılması

CTE kullanarak toplama fonksiyonlarının sorgu içinde ayrılmasını sağlayabiliriz. Söz dizimi olarak aşağıdaki gibidir : WITH CTE Adı AS (SELECT toplama fonksiyonu(kolon2) AS kolon4, kolon3 FROM tablo2 GROUP BY kolon3) SELECT kolon1, kolon4, kolon3 FROM tablo1 INNER JOIN B ON CTE Adı.kolon1 = tablo1.kolon3 AdventureWorks2012 veritabanı üzerinde bir örnek yapalım :

Devamını Oku »

Türetilmiş Tablo Kullanarak Toplama Fonksiyonlarının Sorgu İçinde Ayrılması

MS SQL’de türetilmiş tabloları kullanarak bir sorgu içinde yer alan toplama fonksiyonları ile sorgunun diğer kısmını ayırabiliriz. Söz dizimi olarak aşağıdaki gibidir : SELECT kolon1,kolon4,kolon3 FROM tablo1 AS A INNER JOIN (SELECT toplama fonksiyonu(kolon2) AS kolon4, kolon3 FROM tablo2 GROUP BY kolon3) AS B ON Açkolon1 = b.kolon3 AdventureWorks2012 veritabanı üzerinde bir örnek yapalım. Dikkat edilmesi gereken dışta yer alan …

Devamını Oku »

Toplama Fonksiyonlarının DISTINCT ile Birlikte Kullanımı

DISTINCT deyimi toplama fonksiyonları ile birlikte kullanılabilir. Örneğin bir kolon için o kolondaki satır sayılarının yerine eşsiz değerlerin sayısını listelemek isteyebiliriz. İşte bu eşsiz değerler üzerinde toplama fonksiyonu da kullanmak istediğimizde bu sefer DISTINCT ile birlikte aggregate fonksiyonlar yani toplama fonksiyonları birlikte kullanılabilir. Örnekler ile konumuza devam edelim : 1) Sorgumda 3 tane COUNT fonksiyonu mevcut. İlk Count ile tablodaki …

Devamını Oku »

Toplama Fonksiyonlarının HAVING ile Birlikte Kullanımı

Toplama ifadeleri ile Having deyimini birlikte kullanabiliriz. Having deyimi ile belirtmiş olduğumuz toplama işlemi yapacağımız kolonlar sorgumuz sonucunda gösterilmeyebilir bunu arka planda işlem yapma amacı ile kullanırız. Örnepğin diyelim ki, örneğin en az 10 tane sipariş vermiş müşterilerden her birinin kaçar tane sipariş vermek istediğini bulmak istiyoruz ama sonuçlarda en az 10 tane bilgisini değil bunların içinde toplam siparişlerini listelemek …

Devamını Oku »

Toplama Fonksiyonlarının WHERE ile Birlikte Kullanımı

Toplama fonksiyonları ile birlikte WHERE deyimini kullanabiliriz bu konuda herhangi bir kısıtlama veya dikkat edilecek nokta yoktur. Hemen bir örnek yapalım. AdventureWorks2012 veritabanı üzerinde çalışıyorum. Sorgumda Sales.SalesOrderHeader tablosunda CustomerID kolonu ve TotalDue kolonunun toplamını listeliyorum. Ancak WHERE ile bir koşulum var, burda da TerritoryID değeri 1 ve 3 olanları listeliyorum. Yani TerritoryID değeri 1 ve 3 olanların CustomerID’sine göre toplam …

Devamını Oku »