您的位置:首页 > 博客中心 > 数据库 >

T-SQL PIVOT 行列转换

时间:2022-03-13 22:38

前面几个例子:

 

全是SQL Server行列转换或是列行转换的相关例子。不过在SQL Server2005版本开始,有一个新的函数可以很轻易实现这些功能。参考下面代码:

gxlsystem.com,布布扣 SELECT [RId],[2011-01-23],[2011-01-24],[2011-01-25],[2011-01-26]
FROM
(
    SELECT [Rid],[DT],[Hits] FROM [dbo].[RecordHits]
) AS p
PIVOT
(
    SUM([Hits]) FOR [DT] IN ([2011-01-23],[2011-01-24],[2011-01-25],[2011-01-26])
) AS Q;

 

执行结果:

gxlsystem.com,布布扣

 

另一种是想把上面的结果进行列行转换: 

gxlsystem.com,布布扣 SELECT [DT],[R1],[R2],[R3],[R4]
FROM
(
    SELECT [Rid],[DT],[Hits] FROM [dbo].[RecordHits]
) AS p
PIVOT
(
    SUM([Hits]) FOR [RId] IN ([R1],[R2],[R3],[R4])
) AS Q;

 

执行结果:

gxlsystem.com,布布扣

T-SQL PIVOT 行列转换,布布扣,bubuko.com

热门排行

今日推荐

热门手游