- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle 11g中的pivot和unpivot转换操作
对于pivot 和unpivot 这个Oracle 11g 的新功能一直就想总结一下,正好赶上论坛中有很多人
会提问相关的问题,于是利用空闲时间翻译了一篇相关的网络文章。链接如下:
/display.php?id=506
ITPuber :LuiseDalian 翻译
时间:20 12.11.29
1 / 41
1 Oracle 11g 中的pivot 和unpivot 查询
转换查询包括将行转换成列(pivot)和将列转换成行(unpivot),从而产生交叉表格式的结果。
转换是一项通用的技术,尤其对于报表来讲,正是由于该项技术使得多年来针对 Oracle 的不同
版本,可以使用SQL 语句产生转换查询的结果集。从Oracle 11g 开始,包含了显式的转换查询
支持,即PIVOT 和UNPIVOT 关键字。这是对SELECT 语句的扩展。
1.1 pivot
这里我们从pivot 操作开始。大多数的开发者首先要熟悉转换数据:即多行被聚合,然后转换成
列,每一列表示聚合数据的不同范围。语法:
SELECT ...
FROM ...
PIVOT [XML]
( pivot_clause
pivot_for_clause
pivot_in_clause )
WHERE ...
除了新的pivot 关键字外,可以看到3 个新的pivot 子句,描述如下:
pivot_clause :定义被聚合的列(pivot 是一种聚合操作)
pivot_for_clause :定义被分组和转换的列。
pivot_in_clause :定义pivot_for_clause 子句中列的过滤器(例如使用值的范围来限制结果)。
pivot_in_clause 中每个值的聚合都将被转换成单独的列
1.1.1 一个简单的例子
这个例子是对pivot 语法的简单的演示,使用scott.emp 表,这里将通过department 和job 来汇总
salaries,然后转换对每个部门的汇总到它们各自的列上,在转换之前,先看一下基础数据
SELECT job, deptno, SUM (sal) AS sum_sal
FROM emp
GROUP BY job, deptno
2 / 41
ORDER BY job, deptno;
下面使用11g 的语法来转换数据,对于每个job 我们将sal 的汇总,对每个部门使用单独一列。
WITH pivot_data AS (SELECT deptno, job, sal FROM emp)
SELECT * FROM PIVOT_data
PIVOT
(
SUM (sal) --pivot_clause
FOR deptno --pivot_for_clause
IN (10, 20, 30, 40) --pivot_in_cluase
);
可以看到对每个job 按部门对 sal 的汇总已经变成了列,关于这个例子有几点需要注意,语法和
结果:
本例中的pivot_clause 求sal 列的和,如果需要可以指定多列和可选的别名。
pivot 操作执行隐式的GROUP BY ,使用的列是没有出现在pivot_clause 中的列(本例为job
和 deptno )。大多数的转换查询都会在列的子集上进行操作,所以会使用存储视图、内联视
图或子查询。
这里的pivot_for_clause ,表明我们只想转换deptno 的聚合。
这里的prvot_in_cluase ,指明deptno 值的范围,这里我们硬编码4 个值的列表,这也是为什
3 / 41
么会产生4 个转换列原因。如果省略别名,Oracle
您可能关注的文档
- Nd-Fe-B行业技术知识问答.pdf
- ND287操作手册_CN.pdf
- Netapp SnapVault配置手册v1.0.pdf
- NEK 606-2004挪威海洋平台用电缆标准.pdf
- NetApp产品完整介绍s.pdf
- NDB2系列小型断路器 (2016版).pdf
- netmagic硬件一组.pdf
- New_方法08抽样.pdf
- NEC SV8300中文配置手册.pdf
- NEW第五章水文第一节湖泊与沼泽.pdf
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- DPtech FW1000系列应用防火墙典型配置v3.2.pdf
- 部编人教版小学四年级语文上册《一只窝囊的大老虎》教案.pdf
- 2024年新高考英语总复习考点12 分词(上海专用原卷版).docx VIP
- (2024秋)部编版一年级语文上册《 四季》PPT课件【优质版】.pptx
- 脑出血患者护理心得.doc VIP
- 【全部】小学1--6年年级统编语文教材(上下册)古诗词.pdf
- 清华大学“应用随机过程”习题答案.pdf
- BDA-老虎基金京东深度研究报告EN-2015 05 19.pptx VIP
- 成都至峨眉山高速公路环评报告书.pdf VIP
- 人教版六年级数学上册第五单元《圆的认识》作业设计.pdf
文档评论(0)