日期:2014-05-17  浏览次数:20445 次

数据统计分解,求解
数据源的格式为如下:
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)')