msdn定义pivot: PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。UNPIVOT 与 PIVOT 执行相反的操作,将表值表达式的列转换为列值 下面是一个简单将行换列demo: Create table ta(名称 nvarchar(2),人数 int) Go Insert into ta select '张一',2 union all select '张二',5 union all select '张三',8 union all select '张四',11 Go select * from ta pivot ( max(人数) for 名称 in([张一],[张二],[张三],[张四]) ) as pvt 张一 张二 张三 张四 ----------- ----------- ----------- ----------- 2 5 8 11