select id,max(decode(rm,1,name)) name1,max(decode(rm,1,desc)) desc1,
max(deocde(rm,2,name)) name2,max(decode(rm,2,desc)) desc2
from
(select a.*,row_num() over(partition by id order by rownum) rm from chenck a)
group by id
max(deocde(rm,2,name)) name2,max(decode(rm,2,desc)) desc2
from
(select a.*,row_num() over(partition by id order by rownum) rm from chenck a)
group by id
from chenck a,chenck b
where a.id = b.id and a.name > b.name