问答文章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
含羞草图片-含羞草(花期图,果期图,欣赏图) 全球气候变暖的后果 全球气候变暖有什么影响 情侣身高差几离米最何适?我167,穿蓝球鞋171,女朋友要多高? 如何禁止u盘传文件 事业单位醉驾会开除吗? excel表格负数金额怎么输入 exce怎么输入负数-excel中输入正负数教程 能让仓鼠跟着走的音乐? ...件和合同都发过去给他了他要我在打1000块钱过去。 我在人人贷款了30000元!合同也签了!但是人家就是没有放款!还让我到一... oracle数据列转成行 oracle如何实现行转列 Oracle数据库行列转换 oracle查询行转列怎么写 oracle 行转列 Oracle 数据库行转列 oracle 行转列 ,这个要怎么转 oracle行转列 列转行求助 oracle行列转换问题 ORAClE sql如何实现行转列? Oracle列转行,行转列 oracle行列转换 oracle 行和列转换 oracle 行列转换 oracle 行转换为列 ORACLE行转列问题 如何在oracle中进行列行转换 小米怎么双开 我有对方的但是没他的手机请问怎么能看到微信的聊天记录..._百度问一问 怎么查看自己加入的所有群聊 用开水烫面能做什么?有什么作用? 发面和烫面,用途都有哪些不同? 烫面适合做什么面点? 发面和烫面,用途有哪些不同? 烫面可以发酵吗? 半烫面,发面,烫面和死面,用途有什么不同呢? 烫面、发面、死面的区别是什么?用途又有什么不同? 烫面发面混合使用做油酥饼行吗? 一半烫面一半发面怎么炸油饼 面粉烫了一半另一半用凉水和面,其中还放了发酵粉,能做什么面食? 发面和烫面做出来的葱花饼,哪种做法会更好吃? 烫面加发面能烙饼吗 烫面发面冷水面 烫面和发面有什么不同?这两者都需要放酵母吗? 微信在国外能不能使用? 微信能在国外使用吗? 有谁知道?我过几天去国外旅游,手机微信在国外能用吗?需要办理其它手续吗... 微信在国外可以用吗? 偷渡到国外微信还能用吗 拼多多闪电退货退款!在卖家毫不知情的情况下进行的!