Jso*_*ham 5 sql t-sql sql-server sql-server-2008
我有一张表格,其中包含大约50,000条信息记录,这些记录已经设置为回顾当前财政年度的开始.
从目前看,我上个月没有更新这张表,所以目前的数据假设我们仍然回顾到2011年4月1日.
请注意(当我刷新数据时,我们现在将在4月份出现2012年4月的数据,然后在5月将有2012年4月和2012年5月等等......)
每个记录都有我关注的4列:
Department,
Incident date,
month,
year,
reduced
Run Code Online (Sandbox Code Playgroud)
月份和年份列都是从事件日期字段生成的,该字段采用以下格式:
2011-06-29 00:00:00.000
Run Code Online (Sandbox Code Playgroud)
我需要为每个部门,累计减少但累积的方式.
例如,看看2011年4月将是我目前最早的月/年数据,我想知道4月份每个部门的总减少量.
然后五月我希望四月和五月合并,六月我需要四月,五月,六月等...
是否有一种智能的方法可以做到这一点,一旦我将数据重新导入到该表中,它就会意识到现在只有一个月,而且这一年已经更新,现在直到下个月只显示4月份的总和(减少)
select t1.id, t1.singlenum, SUM(t2.singlenum) as sum
from @t t1 inner join @t t2 on t1.id >= t2.id
group by t1.id, t1.singlenum
order by t1.id
Run Code Online (Sandbox Code Playgroud)