日期:2014-05-16 浏览次数:20767 次
select t.code,substr(max(sys_connect_by_path(t.sz,',')),2) sz from (select code,sz,row_number()over(partition by code order by sz) rn from (select * from prdsz where rownum<100)) t start with t.rn=1 connect by t.code=prior t.code and t.rn-1=prior t.rn group by t.code;
------解决方案--------------------
oracle 10g以上版本有对应的函数:
wm_concat(列名)
这个函数不能指定分隔符,只能以逗号分隔
oracle可以自定义聚合函数
------解决方案--------------------
10g以后可以用wm_concat这个函数阿,行转列,逗号隔离,应该就是你需要的了