发布网友 发布时间: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的写法,如果是其他数据库可能开窗函数等等地方会有所区别。