PIVOT 提供的语法比一系列复杂的 SELECT...CASE 语句中所指定的语法更简单和更具可读性。有关 PIVOT 语法的完整说明,请参阅 FROM (Transact-SQL)。
以下是带批注的 PIVOT 语法。
SELECT <非透视的列>,
[第一个透视的列] AS <列名称>,
[第二个透视的列] AS <列名称>,
...
[最后一个透视的列] AS <列名称>,
FROM
(<生成数据的 SELECT 查询>)
AS <源查询的别名>
PIVOT
(
<聚合函数>(<要聚合的列>)
FOR
[<包含要成为列标题的值的列>]
IN ( [第一个透视的列], [第二个透视的列],
... [最后一个透视的列])
) AS <透视表的别名>
<可选的 ORDER BY 子句>;
参考资料:
http://technet.microsoft.com/zh-cn/library/ms177410.aspx
create table tb(Name varchar(10),Class varchar(10),Scoure int)
insert into tb values('张三','语文',74)
insert into tb values('张三','数学',83)
insert into tb values('张三','物理',93)
insert into tb values('李四','语文',74)
insert into tb values('李四','数学',84)
insert into tb values('李四','物理',94)
go
select*from tb
select * from tb
pivot ( Max(Scoure) for Class in ([语文],[数学],[物理]) ) a
转换后运行结果:
Name 语文 数学 物理
------ ----------- ----------- -----------
李四 74 84 94
张三 74 83 93
分享到:
相关推荐
枢纽表达式PIVOT和UNPIVOT的简单用法 sql 列转成行 sql server 2005
pivot 与 unpivot 函数是SQL05新提供的2个函数 灰常灰常的实用
Oracle 11g中的pivot和unpivot转换操作
SQL行列转换 Pivot UnPivot
使用 PIVOT 和 UNPIVOT 关系运算符将表值表达式更改为另一个表。PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。UNPIVOT 与 PIVOT ...
例如,您可以将任何员工在过去 10 个月内销售的总金额相加,或者您可以计算按地区和销售员签订的合同数量等等...... 有关详细的帮助和说明,请参阅已发布的 M 文件或函数的帮助。 有关示例,请参阅附加的快照。 ...
主要介绍了SQLServer行列互转实现思路,使用聚合函数pivot/unpivot实现行列互转,感兴趣的小伙伴们可以参考一下
有case when方式和2005之后的内置pivot和unpivot方法来实现,行列互转,可以分为静态互转,动态互转。
博客文章地址:http://blog.csdn.net/pfe_nova/article/details/41357435 SQL2005之后添加的几个排名函数以及透析与反透析关键字,主要有Row_Number、RANK、DENSE_RANK、NTILE函数,pivot以及unpivot关键字
SQL 操作:Pivot 和 Unpivot 使用简单的 SQL 以电子表格类型的交叉表报表显示任何关系表中的信息,并将交叉表中的所有数据存储到关系表中。 SecureFiles 探究下一代 LOB:LOB 加密、压缩、消除重复和异步性。 ...
oracle数据库最详细的行转列资料,是官方文档的详细介绍版,中文的
chapter1:background to t-sql query chapter2:single-table ...chapter7:pivot ,unpivot,and groupint sets chapter8:data modification chapter9:transactions and concurrency chapter10:programmable objects
实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现。 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和总结过。为了加深认识,再总结一次。 行列互转,可以分为静态...
SAS 的 TRANSPOSE 过程和 T-SQL 的 PIVOT 和 UNPIVOT 语句相关的两个操作示例,请参见所附屏幕截图。
T-SQL语句中,Pivot运算符用于在列和行之间对数据进行旋转或透视转换,PIVOT命令可以实现数据表的列转行,同时执行聚合运算,UNPIVOT则与其相反,实现数据的行转列。
从MS Sql Server 2005微软就推出了pivot和unpivot实现行列转换,这极大的方便了我们存储数据和呈现数据。今天就对这两个关键字进行分析,结合实例讲解如何存储数据,如何呈现数据。 例如学生选课和成绩系统中就有...
sql 所有查询语句,如何使用全新的派生表 ...如何使用全新的pivot 如何使用全新的unpivot 如何使用全新的apply 如何使用全新的except 与intersect 运算符号 如何使用全新的“公用表达式” Compute[by]字句的使用技巧
This book is an introduction and deep-dive into the many uses of dynamic SQL in Microsoft ...Chapter 9: Dynamic PIVOT and UNPIVOT Chapter 10: Solving Common Problems Chapter 11: Additional Applications
Oracle's support of the recursive WITH syntax, and addition of PIVOT and UNPIVOT operators Functions new to Oracle, such as LISTAGG, NTH_VALUE, and more PostgreSQL’s support of recursive WITH and ...