LISTAGG
La función Oracle / PLSQL LISTAGG concatena valores de measure_column para cada GROUP en función de order_by_clause.
Parámetros
- measure_column
- Concatena los valores en una sola fila, los valores nulos serán ignorados.
- delimiter
- Es opcional e indica si quieres separar los valores por coma o por algún carácter.
- order_by_clause
- Determina el ordenamiento de los campos.
Ejemplo
Crear tabla EMP
CREATE TABLE "EMP"
( "EMPNO" NUMBER(4,0) NOT NULL ENABLE,
"ENAME" VARCHAR2(10),
"JOB" VARCHAR2(9),
"MGR" NUMBER(4,0),
"HIREDATE" DATE,
"SAL" NUMBER(7,2),
"COMM" NUMBER(7,2),
"DEPTNO" NUMBER(2,0),
PRIMARY KEY ("EMPNO")
)
/
Vamos a agrupar todos los empleados en una sola fila agrupado por nombre puesto.

SELECT JOB, LISTAGG(ENAME, ', ') WITHIN GROUP (ORDER BY ENAME) AS NAME from EMP GROUP BY JOB;

Documentación
https://docs.oracle.com/cd/E11882_01/server.112/e41084/functions089.htm#SQLRF30030
Espero te sirva esta información, si es así, no olvides darle clic a los anuncios que aparecen en el blog.
Si tienes una duda o comentarios por favor házmelo saber, me ayudaría muchísimo para poder crear más entradas.
Gracias