En Oracle, puede usar listagg()
, pero no tiene distinct
opción. Entonces, use una subconsulta y dos niveles de agregación:
select listagg(id, ',') within group (order by id) as id, name, sum(cnt)
from (select id, name, count(*) as cnt
from t
group by id, name
) x
group by name;