首页 > 数据库技术 > 详细

Oracle行转列,pivot函数和unpivot函数

时间:2020-10-15 16:11:25      阅读:169      评论:0      收藏:0      [点我收藏+]

pivot函数:行装列函数:
语法:pivot(任一聚合函数 for 需要转列的值所在列名 in (需转为列名的值))

unpivot函数:列转行函数:

语法:unpivot(新增值所在列的列名 for 新增列转为行后所在列的列名 in (需转为行的列名))

执行原理:将 pivot函数或unpivot函数接在查询结果集的后面。相当于对结果集进行处理。

 

转换示例:

1、原始表数据:
select * from T_PIVOT_TEST_1;

技术分享图片

 

 2、用 pivot函数进行行转列。其中用聚合函数对数据列进行求值,将th列中的值 COL_1,COL_2,COL_3 转化为列名,并为其加上别名。

select * from T_PIVOT_TEST_1 pivot(sum(er) for th in (‘COL_1‘ as 第一列,‘COL_2‘ as 第二列,‘COL_3‘ as 第三列))

转换后的结果图:

技术分享图片

 

Oracle行转列,pivot函数和unpivot函数

原文:https://www.cnblogs.com/ssqq5200936/p/13820304.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!