Tim Hall har en ret kanonisk liste over strengaggregeringsteknikker i Oracle.
Hvilken teknik du bruger afhænger af en række faktorer, herunder versionen af Oracle, og om du leder efter en ren SQL-løsning. Hvis du bruger Oracle 11.2, vil jeg nok foreslå at bruge LISTAGG
SELECT column1, listagg( column2, ',' ) WITHIN GROUP( order by column2 )
FROM table_name
GROUP BY column1
Hvis du bruger en tidligere version af Oracle, forudsat at du ikke har brug for en ren SQL-løsning, vil jeg generelt foretrække at bruge den brugerdefinerede aggregerede funktionstilgang.