问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle多行转多列

发布网友 发布时间:2022-04-22 20:42

我来回答

1个回答

热心网友 时间:2022-04-07 18:30

你这个应该是一张通用的表吧,就是说下面还有可能出现,诸如ID=10002或者10003等。
如果这样的话,就用row_number()over(partition by ID),进行排序,然后把排序后的再进行转换。
比如上面这个就是
select row_number()over(partition by ID) id_id,id,countnum from table
这样会出来结果,如下
id_id id countnum
1 10001 30
2 10001 40
3 10001 50
1 10002 20
2 10002 50
3 10002 30
上面的结果没有排序,也可以按照countnum进行排序,就是在partition by id的后面加一个orderby,看你用不用了。
然后再对这个结果进行行列转换,用case when就行,我假设上张表取别名为a
那么
select id,(case when id_id=1 then countnum end) column1,,(case when id_id=2 then countnum end) column2,(case when id_id=3 then countnum end) column3,(case when id_id=4 then countnum end) column3,........from a
不过这种写法有一个问题,就是必须写一个最长的,不然你就有数据不能显示出来。
如果只有一个10001,那么可以利用rownum直接编组。追问

执行您的sql语句得到

但我想要的效果是这样:  求大神解答

追答再group by sum一下不就出来了。
类似: sum((case when id_id=1 then countnum end)) column1。。。。。。。后面再group by id不就行了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
世界征服者2银行怎么弄出来 世界征服者2可以充值么?充不了怎么办 世界征服者2hd没手机卡怎么手机上显示支付成功 可有人推荐几首比较死沉的歌..? ...最好是以前日韩和欧美经典的动感歌曲,不要死气沉沉的那种,或者带点... “天教只入丹青”的出处是哪里 左股骨颈基底部见线形骨折线,有少量骨痂形成,颈干角变小,左髋关节未见... 新疆有奎屯这个地方吗? 我是一个糖尿病患者玉米须和枸杞煮水喝能管用吗 父亲的牙齿掉落几颗了,想趁现在年纪还不算太大给他做个固定假牙。_百度... oracle数据列转成行 oracle如何实现行转列 Oracle数据库行列转换 oracle查询行转列怎么写 oracle 行转列 Oracle 数据库行转列 oracle 行转列 ,这个要怎么转 oracle行转列 列转行求助 oracle行列转换问题 ORAClE sql如何实现行转列? Oracle列转行,行转列 oracle行列转换 oracle 行和列转换 oracle 行列转换 oracle 行转换为列 ORACLE行转列问题 如何在oracle中进行列行转换 小米怎么双开 我有对方的但是没他的手机请问怎么能看到微信的聊天记录..._百度问一问 怎么查看自己加入的所有群聊 用开水烫面能做什么?有什么作用? 发面和烫面,用途都有哪些不同? 烫面适合做什么面点? 发面和烫面,用途有哪些不同? 烫面可以发酵吗? 半烫面,发面,烫面和死面,用途有什么不同呢? 烫面、发面、死面的区别是什么?用途又有什么不同? 烫面发面混合使用做油酥饼行吗? 一半烫面一半发面怎么炸油饼 面粉烫了一半另一半用凉水和面,其中还放了发酵粉,能做什么面食? 发面和烫面做出来的葱花饼,哪种做法会更好吃? 烫面加发面能烙饼吗 烫面发面冷水面 烫面和发面有什么不同?这两者都需要放酵母吗? 微信在国外能不能使用? 微信能在国外使用吗? 有谁知道?我过几天去国外旅游,手机微信在国外能用吗?需要办理其它手续吗... 微信在国外可以用吗? 偷渡到国外微信还能用吗 拼多多闪电退货退款!在卖家毫不知情的情况下进行的!