17,137
社区成员
发帖
与我相关
我的任务
分享
with t as (
select 'a' name, '足球' hobby from dual union all
select 'a' name, '篮球' hobby from dual union all
select 'a' name, '乒乓' hobby from dual union all
select 'b' name, '游泳' hobby from dual union all
select 'b' name, '足球' hobby from dual union all
select 'c' name, '篮球' hobby from dual )
select t.name||'|'|| wmsys.wm_concat(hobby)
from t
group by t.name
/*
a|足球,篮球,乒乓
b|游泳,足球
c|篮球
*/
with t as
(select 'a' name, '足球' hobby
from dual
union all
select 'a' name, '篮球' hobby
from dual
union all
select 'a' name, '乒乓' hobby
from dual
union all
select 'b' name, '游泳' hobby
from dual
union all
select 'b' name, '足球' hobby
from dual
union all
select 'c' name, '篮球' hobby from dual)
select t.name || '|' || listagg(hobby, ',') within group(order by t.name)
from t
group by t.name;