22 Ağustos 2014 Cuma

SQL Server 2012'de Kümülatif Toplam Nasıl Alınır.

SQL Server 2012 den önce kümülatif toplama ihtiya duyduğumuz zamanlar genelde iç içe sorgular yazar ve sonuç elde etmeye çalışırdık. Sql'de kümülatif toplam almak eskisi kadar zor değil.
Microsoft SQL Server 2012 de Window Function özelliklerini geliştirerek, yeni özellikler katmış. Ansi standartlarından olan bu özellikleri sonraki makalelerimizde detaylı anlatacağım.
Bu makalemizde sadece kolayca kümülatif toplam nasıl alınırı göstereceğim.
İlk olarak aşağıdaki sorguyu çalıştırarak örnek tablomuzu oluşturalım.
?
1
2
3
4
5
6
7
8
9
10
11
12
create table Ornek_AylikGelir
(
tarih datetime,
Toplam int,
)
  
insert into Ornek_AylikGelir(tarih,Toplam) values('2012.05.01',100)
insert into Ornek_AylikGelir(tarih,Toplam) values('2012.05.02',50)
insert into Ornek_AylikGelir(tarih,Toplam) values('2012.05.03',20)
insert into Ornek_AylikGelir(tarih,Toplam) values('2012.05.04',80)
insert into Ornek_AylikGelir(tarih,Toplam) values('2012.05.05',100)
insert into Ornek_AylikGelir(tarih,Toplam) values('2012.05.06',200)
Aşağıdaki sorgu ile tarihe göre sıralı olarak kümülatif toplam almış oluruz.
?
1
2
select tarih,Toplam,sum(Toplam) over(order by tarih) as KumulatifToplam
from Ornek_AylikGelir
Önceki makalemizi okursanız 2012 den önceki SQL Server versiyonlarında bunu nasıl yapacağınız görebilirsiniz. Yukarıdaki Sorgunun sonucu aşağıdaki gibi dönmektedir.
tarihToplamKumulatifToplam
2012-05-01 00:00:00.000100100
2012-05-02 00:00:00.00050150
2012-05-03 00:00:00.00020170
2012-05-04 00:00:00.00080250
2012-05-05 00:00:00.000100350
2012-05-06 00:00:00.000200550

Hiç yorum yok:

Yorum Gönder