그룹의 정렬조건이 seq 기준으로
정렬순서가 잡히게 해야 하는데 생각대로 되지 않아 이렇게 문의드립니다.
WITH t AS (
SELECT 1 seq , '모자' title , '끈' so FROM dual UNION ALL
SELECT 7 seq , '모자' title , '지퍼' FROM dual UNION ALL
SELECT 9 seq , '모자' title , '지갑' FROM dual UNION ALL
SELECT 11 seq , '가방' title , '끈' FROM dual UNION ALL
SELECT 13 seq , '모자' title , '지갑' FROM dual UNION ALL
SELECT 16 seq , '신발' title , '밑창' FROM dual UNION ALL
SELECT 47 seq , '가방' title , '휴대폰' FROM dual
)
SELECT
LISTAGG ( title || '( '||
LISTAGG( so , ', ') WITHIN GROUP (ORDER BY seq )
||' )' ,', ' ) WITHIN GROUP (ORDER BY title ) c
FROM t
GROUP by title
;
위문장을 실행하면 결과값은 : 가방( 끈, 휴대폰 ), 모자( 끈, 지퍼, 지갑, 지갑 ), 신발( 밑창 ) 이렇게 나옵니다.
제가 원하는 결과값은 : 모자( 끈, 지퍼, 지갑, 지갑 ), 가방( 끈, 휴대폰 ), 신발( 밑창 ) 입니다.
감사합니다.
|