SQL Server Cumulative Sum by Group -
i have table (sql server 2005) of format:
dummy_id, date_registered, item_id, quantity, price
and want add new column (cumulative) calculates cumulative totals of each item_id order date_registered shown:
dummy_id date_registered item_id quantity price cumulative 1 2013-07-01 100 10 34.5 10 2 2013-07-01 145 8 2.3 8 3 2013-07-11 100 20 34.5 30 4 2013-07-23 100 15 34.5 45 5 2013-07-24 145 10 34.5 18
thanx in advance
in sql server 2005, using correlated subquery:
select dummy_id, date_registered, item_id, quantity, price, (select sum(quantity) t t2 t2.item_id = t.item_id , t2.date_registered <= t.date_registered ) cumulative table t;
if want add table, need alter table add column , update. if table has inserts , updates, need add trigger keep up-to-date. getting through query easier.
in sql server 2012, can using syntax:
select dummy_id, date_registered, item_id, quantity, price, sum(quantity) on (partition item_id order date_registered) cumulative table t;
Comments
Post a Comment