LISTAGG 함수 사용 형태
LISTAGG( [합칠 컬럼명], [구분자] ) WITHIN GROUP ( ORDER BY [ 정렬 컬럼명 ] )
LISTAGG ( ) 함수는 "" 그룹 함수 "" 이기때문에
GROUP BY[그룹바이] 또는 PARTITION BY[파티션 바이[ 절과 함께 사용해야 합니다.
기존의 WM_CONCAT 함수는 DISTINCT(중복제거)를 사용할 수 있으나,
LISTAGG함수는 사용할 수 없다고 하네요.
예시
SELECT LISTAGG( 컬럼명, ',') WITHIN GROUP(ORDER BY 컬럼명) AS 대체명
FROM TEST
WHERE 색종류 IN ('빨강', '파랑')
SELECT 색종류, LISTAGG( 컬럼명, ',') WITHIN GROUP(ORDER BY 컬럼명) AS 대체명
FROM TEST
WHERE 색종류 IN ('빨강', '파랑')
GROUP BY 색종류
SELECT 컬럼명
, 색종류
, LISTAGG( 컬럼명, ',') WITHIN GROUP(ORDER BY 컬럼명) OVER ( PARTITION BY 색종류 ) AS 대체명
FROM TEST
WHERE 색종류 IN ('빨강', '파랑')