PIVOT:行转列函数

PIVOT函数,行转列

PIVOT函数的格式如下:

PIVOT(<聚合函数>([聚合列值]) FOR [行转列前的列名] IN([行转列后的列名1],[行转列后的列名2],[行转列后的列名3],.......[行转列后的列名N]))
<聚合函数>就是我们使用的SUM,COUNT,AVG等Sql聚合函数,也就是行转列后计算列的聚合方式。
[聚合列值]要进行聚合的列名
[行转列前的列名]这个就是需要将行转换为列的列名。
[行转列后的列名]这里需要声明将行的值转换为列后的列名,因为转换后的列名其实就是转换前行的值,所以上面格式中的[行转列后的列名1],[行转列后的列名2],[行转列后的列名3],......[行转列后的列名N]其实就是[行转列前的列名]每一行的值。

SELECT FROM [StudentScores] /数据源/
AS P
PIVOT
(
SUM(Score/
行转列后 列的值/) FOR
p.Subject/
需要行转列的列/ IN ([语文],[数学],[英语],[生物]/列的值*/)
) AS T

猜你喜欢

转载自blog.51cto.com/13866219/2146579