SQL Server 查询语句Pivot详解

SQL Server 查询语句Pivot详解

ID:38130407

大小:226.34 KB

页数:6页

时间:2019-05-29

SQL Server 查询语句Pivot详解_第1页
SQL Server 查询语句Pivot详解_第2页
SQL Server 查询语句Pivot详解_第3页
SQL Server 查询语句Pivot详解_第4页
SQL Server 查询语句Pivot详解_第5页
资源描述:

《SQL Server 查询语句Pivot详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.PIVOT语法。SELECT<非透视的列>,[第一个透视的列]AS<列名称>,[第二个透视的列]AS<列名称>,...[最后一个透视的列]AS<列名称>,FROM(<生成数据的SELECT查询>)AS<源查询的别名>PIVOT(<聚合函数>(<要聚合的列>)FOR[<包含要成为列标题的值的列>]IN([第一个透视的列],[第二个透视的列],...[最后一个透视的列]))AS<透视表的别名><可选的ORDERBY子句>;2.PIVOT执行过程:(1)in后面的行值称为非透视列;(2)查询时先对非透视列的非聚合列进行分组;用一般查询语句表示如下:Select非透视列的非聚合列(包含要

2、成为列标题的值的列),聚合函数(要聚合的列)From源表Groupby非透视列的非聚合列(3)将要成为列标题的值转化成透视列,其值为(2)的查询结果集中对应的聚合函数(要聚合的列)值;(4)由于执行步骤(3)后,原分组列中少了(包含要成为列标题的值的列),因此以剩下的列再分组,这可能会导致结果集的某条记录的透视列有多个值。3.例题:1)源数据:CREATETABLE[dbo].[CJB]([学号][char](6)NOTNULL,[课程号][char](3)NOTNULL,[成绩][int]NULL)ON[PRIMARY]INSERT[dbo].[CJB]([学号],[课程号],[成

3、绩])VALUES(N'101101',N'101',80)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101101',N'102',78)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101101',N'206',76)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101103',N'101',62)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101103',N'102',70)INSERT[dbo].[CJB]([学号

4、],[课程号],[成绩])VALUES(N'101103',N'206',81)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101104',N'101',90)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101104',N'102',84)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101104',N'206',65)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101102',N'102',78)INSERT[dbo]

5、.[CJB]([学号],[课程号],[成绩])VALUES(N'101102',N'206',78)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101106',N'101',65)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101106',N'102',71)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101106',N'206',80)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101107',N'101',78)I

6、NSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101107',N'102',80)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101107',N'206',68)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101108',N'101',85)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101108',N'102',64)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101108',N

7、'206',87)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101109',N'101',66)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101109',N'102',83)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALUES(N'101109',N'206',70)INSERT[dbo].[CJB]([学号],[课程号],[成绩])VALU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。