sql server - Reset a sum in a query when a date field changes month -


i executing following query:

select *, balance = sum(dailyreadmits)  on (order date_total rows unbounded preceding)  #allreadmits 

which returns these results:

date_total    dailyreadmits    balance 2015-08-25                4          4 2015-08-26                8         12 2015-08-27                9         21 2015-08-28                3         24 2015-08-29                1         25 2015-08-30                4         29 2015-08-31                3         32 2015-09-01                5         37 

however, when new month starts, balance start on again , this:

date_total    dailyreadmits    balance 2015-08-25                4          4 2015-08-26                8         12 2015-08-27                9         21 2015-08-28                3         24 2015-08-29                1         25 2015-08-30                4         29 2015-08-31                3         32 2015-09-01                5          5 

how can achieve this?

i supposed want partition month, try this:

select *, balance = sum(dailyreadmits)  on (partition datepart(mm,date_total) order date_total rows unbounded preceding)  #allreadmits 

Comments