SQL Server显示表中每个月的数据

时间:2016-09-13 19:51:53

标签: sql sql-server

如何填充或显示每个月的结果?

我有一个包含四列的表

Plan    Status    Creation date    Triggers

我需要每个月获得每个计划的结果有多少触发计数。我的报告应该是这样的。

Plan   Jan   feb   march Apr may  jun  jul  aug   sep   oct  nov  dec  Totaol
 001     2    0     1    1   0    1     1   1    2      3    1    7      21
 002     2    0     1    1   0    1     1   1    2      3    1    7      21
 003     2    0     1    1   0    1     1   1    2      3    1    7      21

你能帮我解决一下如何实现这个结果吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

select
   plan,
   sum(case when datepart(mm,[Creation date]) = 1 then 1 else 0 end) as Jan,
   sum(case when datepart(mm,[Creation date]) = 2 then 1 else 0 end) as Feb,
   ...
   sum(triggers) as Total
from table
where Status = 'SomeStatus'
group by Plan