SQL-实现Monthly SumUp的统计
2016-03-12
WITH TABLE monthlydata AS ( SELECT sum(xxx) AS totalcases, id, month(date) AS [month] FROM yourtable GROUP BY id, month(date) )
对上方表进行操作:
- 若部分 month 的没有产值而显示为 0 的话
- 不需要额外操作
- 若部分 month 的没有产值而显示为 NULL 的话
- 进行一下判断将其变为 0
- 若部分 month 的没有产值导致上方表结果中只有一年中部分月份的数据
- 额外 JOIN 一张表变量,这张表有 12 行数据分别是 1-12
declare @monthIndex as table ( [month] INT ) DECLARE @hid INT; SET @hid=1; WHILE @hid <= 12 BEGIN INSERT INTO @monthIndex VALUES(@hid) SET @hid = @hid + 1; END
然后进行判断
select i.siteid, mindex.month, sum(totalcases ) as SumUpRecCases from MonthlyData, @monthIndex mindex where i.month <= mindex.month group by i.siteid, mindex.month
最终会显示多行
关于本文
文章标题 | SQL-实现Monthly SumUp的统计 |
发布日期 | 2016-03-12 |
文章分类 | Tech |
相关标签 | #DB #SQL |
留言板
PLACE_HOLDER
PLACE_HOLDER
PLACE_HOLDER
PLACE_HOLDER
PLACE_HOLDER