Do Oracle 11gR2, a cláusula LISTAGG deve fazer o truque:
SELECT question_id,
LISTAGG(element_id, ',') WITHIN GROUP (ORDER BY element_id)
FROM YOUR_TABLE
GROUP BY question_id;
Cuidado se a string resultante for muito grande (mais de 4000 caracteres para um VARCHAR2, por exemplo):a partir da versão 12cR2, podemos usar ON OVERFLOW TRUNCATE/ERROR para lidar com esse problema.