当前位置: 代码迷 >> Sql Server >> 数据统计分解,求解,该如何解决
  详细解决方案

数据统计分解,求解,该如何解决

热度:59   发布时间:2016-04-24 23:14:24.0
数据统计分解,求解
数据源的格式为如下:
Price           AddTime
---------------------------------------------
0.00         2011-11-01 14:32:17.720
13970.00 2011-11-01 14:37:22.443
275.00         2011-11-01 15:53:49.670
3858.00         2011-11-01 16:56:30.130
1812.00         2011-11-01 16:56:30.130
.               .
.               2012-10-01 15:53:49
.               2013-02-05 14:32:17
N               N

求生成格式为
年份 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2011年  133   66   348   386   336   339   593   499   709   584   675   1,022 
2012年  216   518   853   858   1,035   1,141   849   1,442   947   835   832   1,067 
2013年  643   211   0     0    0    0     0     0    0    0    0    0 
SQL行转列,SQL统计

------解决方案--------------------
行列转化                  .
------解决方案--------------------
declare @sql nvarchar(max)
select @sql=isnull(@sql,'')+',sum(case when month(AddTime)='+rtrim(number)+' then Price else 0 end)['+rtrim(number)+'月]' from master..spt_values where type='p' and number between 1 and 12
exec('select rtrim(month(AddTime))+''年'' as [年份]'+@sql+' from tb group by month(AddTime)')

  相关解决方案