目录
oracle怎样行列转置
Jan 25, 2022 am 10:55 AM
oracle
oracle行列转置的方法:1、利用pivot()函数行转列,语法为“pivot(聚合函数 for 列名 in(类型))”;2、利用unpivot()函数列转行,语法为“unpivot(列名 for 列名 in(类型))”。
本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。
oracle怎样行列转置
以前接触过通用SQL中的行列转置,行转列使用聚合函数sum | max 然后结合case when then else end 语句就可以实现,而列转行使用union或union all来实现。这样做其实有点麻烦,而在oracle数据中,专门提供了这样的函数来实现行列转置功能。
同样可以使用通用SQL来实现行列转置,但是Oracle提供了专门的函数来处理行列转置,也就是使用pivot函数和unpivot函数,下面进行介绍。
1、pivot行转列
oracle数据库中提供pivot函数来实现行转列的功能,同样实现上面行转列的效果,SQL也可以这样写:
SELECT NAME AS 姓名, "'语文'", "'数学'", "'英语'" FROM stu_score pivot ( max( score ) FOR SUBJECT IN ( '语文', '数学', '英语' ) );
登录后复制
查询结果如下:
2、unpivot列转行
oracle中提供unpivot函数来实现列转行功能,实现同样的效果,SQL也可以这样写:
SELECT NAME AS 姓名, 月份,工资 FROM e_sal unpivot ( 工资 FOR 月份 IN ( M_1, M_2, M_3, M_4 ) );
登录后复制
查询结果如下:
推荐教程:《Oracle视频教程》
以上是oracle怎样行列转置的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)