In Oracle puoi usare listagg()
, ma non ha distinct
opzione. Quindi, usa una sottoquery e due livelli di aggregazione:
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;