2011-08-11

Bir Tablodaki Kümülatif Satır Toplamını Bulma

Yazılım geliştiren bir arkadaşın "Bir tablodaki kümülatif satır toplamı belli değerin altında olan kayıtları nasıl bulabilirim?" sorusuna cevap bulmak için aşağıdaki gibi bir test tablosu oluşturdum:

create table [dbo].[TableCumulative](
[id] [int] identity(1,1) not null,
[urunkodu] [varchar](16) null,
[adet] [int] null
) on [primary]


Oluşturduğumuz tablomuzdaki verilerimiz aşağıdaki gibi olsun:


TableCumulative tablosundaki  adet alanının kümülatif satır toplamlarını aşağıdaki SQL kodu ile bulabiliriz:

select id,
urunkodu,
adet,
select sum(x.adet) from tablecumulative as x where x.id <= s.id and x.urunkodu=s.urunkodu) as cumulativesum

from tablecumulative as s
order by id

Sorgu Sonucu:

Kümülatif satır toplamları 7'den küçük olan kayıtları bulalım:

select *
from(
select id,
urunkodu,
adet,

(select sum(x.adet) from tablecumulative as x where x.id <= s.id and x.urunkodu=s.urunkodu) as cumulativesum
from tablecumulative as s
)drv
where cumulativesum <=7

Sorgu Sonucu:

1 yorum:

yılmaz yılmazer dedi ki...

ÇOK TEŞEKKÜR EDERİM ÇOK İŞİME YARADI SQL SERVER 2008 DE OVER VE ORDER I AYNI ANDA KULLANAMADIĞIMIZ İÇİN BU KOD OLMADAN ÇIKILAMAZDI İŞİN İÇİNDEN. DENEDİM ÇALIŞIYOR EMEĞİ GEÇEN HERKESE TEŞEKKÜR EDERİM

.::YASAL UYARI::.

©2004-2016 Mehmet GÜZEL, http://www.mehmetguzel.net/ & http://www.mehmetguzel.com/

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.