oracle 列转行

这两天在做一个日目标的任务, 用到oracle 列转行的 技术。刚开始我百度了很多,连关键字要怎么输入都不知道,最后问了一下大神,大神说,好像是列转行,行转列! 然后一输入,结果就出来了,跟着大神混,有肉吃... 废话不多说,开始上代码:
   先记录一下参考的网址: http://www.2cto.com/database/201501/367164.html ; 先截个图:

         图片



select id , name , jidu, xiaoshou from  Fruit unpivot (xiaoshou for jidu in (q1, q2, q3, q4) )
注释: jidu  、   xiaoshou:      : 这两个字段 并不是在原表里面的字段,是临时命名的新字段!
           unpivot :  就是最神奇的东西了, 看看上图中,第一张图片就是原表,第二张图片就是 列转行后的效果,牛逼不!

我发现跟着尹大神混,写的代码越来越牛逼了,感觉太棒了,隐隐约约有种感觉,在大神身边写代码,终究也是要成为大神的,哈哈哈!


接下来也把行转列的代码也总结一下吧,虽然本次没有用到,但是以后可能有用:
图片 



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

效果就是从上图中的第一张图片,变成了第二张图片,原先的行数据,变成了后面的列名 ,还可以取别名哦!先收藏起来!
  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值