网站大量收购闲置独家精品文档,联系QQ:2885784924

SQL Server 查询语句Pivot详解.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL Server 查询语句Pivot详解

1. PIVOT 语法。 SELECT 非透视的列, [第一个透视的列] AS 列名称, [第二个透视的列] AS 列名称, ... [最后一个透视的列] AS 列名称, FROM (生成数据的 SELECT 查询) AS 源查询的别名 PIVOT ( 聚合函数(要聚合的列) FOR [包含要成为列标题的值的列] IN ( [第一个透视的列], [第二个透视的列], ... [最后一个透视的列]) ) AS 透视表的别名 可选的 ORDER BY 子句; 2. PIVOT 执行过程: (1)in 后面的行值称为非透视列; (2 )查询时先对非透视列的非聚合列进行分组;用一般查询语句表示如下: Select 非透视列的非聚合列(包含要成为列标题的值的列), 聚合函数(要聚合的 列) From 源表 Group by 非透视列的非聚合列 (3 )将要成为列标题的值转化成透视列,其值为 (2 )的查询结果集中对应的聚 合函数(要聚合的列)值; (4 )由于执行步骤(3 )后,原分组列中少了(包含要成为列标题的值的列),因 此以剩下的列再分组,这可能会导致结果集的某条记录的透视列有多个值。 3 .例题: 1)源数据: CREATE TABLE [dbo].[CJB]( [学号] [char](6) NOT NULL, [课程号] [char](3) NOT NULL, [成绩] [int] NULL ) ON [PRIMARY] INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101101, N101, 80) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101101, N102, 78) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101101, N206, 76) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101103, N101, 62) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101103, N102, 70) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101103, N206, 81) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101104, N101, 90) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101104, N102, 84) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101104, N206, 65) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101102, N102, 78) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101102, N206, 78) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101106, N101, 65) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101106, N102, 71) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101106, N206, 80) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101107, N101, 78) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101107, N102, 80) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101107, N206, 68) INSERT [dbo].[CJB] ([学号], [课程号], [成绩]) VALUES (N101108, N101, 85) INSERT [dbo].[CJB] ([学号], [课程号

文档评论(0)

liwenhua11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档