--가상 테이블
WITH TEST_TABLE AS (
SELECT '고구려' COUNTRY, '1대' ST, '동명성왕' KING_NM FROM DUAL UNION ALL
SELECT '고구려' COUNTRY, '3대' ST, '대무신왕' KING_NM FROM DUAL UNION ALL
SELECT '백제' COUNTRY, '1대' ST, '온조왕' KING_NM FROM DUAL UNION ALL
SELECT '고구려' COUNTRY, '2대' ST, '유리왕' KING_NM FROM DUAL UNION ALL
SELECT '백제' COUNTRY, '3대' ST, '기루왕' KING_NM FROM DUAL UNION ALL
SELECT '신라' COUNTRY, '2대' ST, '남해왕' KING_NM FROM DUAL UNION ALL
SELECT '신라' COUNTRY, '1대' ST, '박혁거세' KING_NM FROM DUAL UNION ALL
SELECT '백제' COUNTRY, '2대' ST, '다루왕' KING_NM FROM DUAL UNION ALL
SELECT '신라' COUNTRY, '3대' ST, '유리이사금' KING_NM FROM DUAL
)
--조회 쿼리
SELECT COUNTRY
, SUBSTR(
XMLAGG(
XMLELEMENT(COL ,',', KING_NM) ORDER BY ST
).EXTRACT('//text()').GETSTRINGVAL()
, 2) KING_NM
FROM TEST_TABLE
GROUP BY COUNTRY