Oracle行列转换

pivot 列转行

select * 
from (select name, nums from demo) 
pivot(sum(nums) for name 
in ('苹果' 苹果, '橘子', '葡萄', '芒果'));

注意: pivot(聚合函数 for 列名 in(类型)) ,其中 in(‘’) 中可以指定别名,in中还可以指定子查询,比如 select distinct code from customers

unpivot 行转列

select id , name, jidu, xiaoshou 
from Fruit 
unpivot (xiaoshou for jidu in (q1, q2, q3, q4));

注意: unpivot没有聚合函数,xiaoshou、jidu字段也是临时的变量

更多详细内容请点这里

-------------本文结束感谢您的阅读-------------

本文标题:Oracle行列转换

文章作者:Monkey

发布时间:2018年12月08日 - 17:12

最后更新:2018年12月08日 - 18:12

原始链接:https://monkeyip.github.io/2018/12/08/Oracle行列转换/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!