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