1. 程式人生 > >PIVOT:行轉列函數

PIVOT:行轉列函數

sco 課程 計算列 格式 ... str logs sub .com

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

SqlServer PIVOT函數快速實現行轉列,UNPIVOT實現列轉行 - PowerCoder - 博客園 http://www.cnblogs.com/OpenCoder/p/6668882.html

PIVOT:行轉列函數