怎么用sql语句把这几行合并成一行: number name 11 1 11 2 11 3_百 ...

发布网友 发布时间:2024-10-18 20:46

我来回答

1个回答

热心网友 时间:1小时前

select number,max(case when num=1 then name end) name1,max(case when num=2 then name end) name2,max(case when num=3 then name end) name3 from (select rank()over(partition by number order by name) num,number,name from table ) group by number
我假设number不仅仅有11,而且name也只至多存在三个。可能有些地方要有所改动和调试,毕竟我没有环境,无法实验,不过应该不会太大。
我写的是orale的写法,如果是其他数据库可能开窗函数等等地方会有所区别。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com