Anasayfa / Etiket Arşivi: sql sum

Etiket Arşivi: sql sum

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 Alt Sorgular İçinde SELECT İle Birlikte Kullanılması

Toplama fonksiyonlarının alt sorgular içinde SELECT ile birlikte kullanılmasını isteyebiliriz. Ancak bu tavsiye edilen bir durum değildir çünkü eğer sorguda birden fazla ilişkili alt sorgu mevcut olursa performans ciddi şekilde düşer. Söz dizimi olarak aşağıdaki gibi kullanırız : SELECT listelenecek kolonlar (SELECT toplama fonksiyonu(kolon1) FROM tablo2 WHERE kolon2 = tablo1.kolon1) AS geçici bir ad FROM tablo1 En dışta yer alan ...

Devamını Oku »

Toplama Fonksiyonlarının WHERE Deyimi İle Birlikte Alt Sorgu Kullanılarak Ayrılması

Bu yazımda toplama fonksiyonlarını içeren ifadenin bir WHERE cümlesinden sonra gelen alt sorgu içinde kullanılarak ana sorgudan ayrıştılarak nasıl kullanılabildiğine değineceğim. Bu gibi kullanımları SQL’de görebilirsiniz o yüzden bu detay konulara değinmemek olmaz. Şöyle bir söz dizimi ile alt sorgular oluşturulabilir : SELECT listelenecek kolonlar FROM tablo1 WHERE değer veya kolon = (SELECT toplama fonskiyonu(kolon1) FROM tablo2 WHERE kolon2 = ...

Devamını Oku »

Birden Fazla Tablo Üzerinde Toplama Fonksiyonlarını Kullanmak

Toplama fonksiyonlarını GROUP BY ve HAVING deyimlerini kullanarak birden fazla tablo üzerinde yani birleştirilmiş tablolar üzerinde de kullanabiliriz. Şimdi Sales.Customer ve Sales.SalesOrderHeader tabloları üzerinde her müşteri başına siparişlerin toplamı ve siparişlerin toplam tutarını bulmak için bir takım örnekler yapalım. 1) Bu sorgumun sonucunda sipariş yapan tüm müşteriler yer alıyor. 2) Bu sorgum 1. sorgu ile aynı ama bu sefer INNER ...

Devamını Oku »