SQL Server 按日期竖表变横表,月份可能随时会变,如下图所示

2025-03-30 17:30:49
推荐回答(3个)
回答1:

select t.time from
(select time from table) as t

POVIT
(
SUM(COUNT)
FOR TIME in (select time from table)
)

回答2:

可以了解decode()函数,可以达到转置的目的。
不过还是建议你用excel解决

回答3:

declare @sql nvarchar(max)
set @sql=''
select @sql=@sql+'],['+time from #t group by time
set @sql=stuff(@sql,1,2,'')+']'
set @sql='select * from #t pivot (sum([count]) for time in ('+@sql+'))a'
exec(@sql)