오라클 ) 함수문의 0 2 1,770

by 생택쥐포도 [Oracle 기초] [2022.11.16 09:54:16]


'사과','

이렇게 있는데.

 

by pajama [2022.11.16 11:03:15]

단순히 컬럼별로 중복제거 한다면 아래처럼 하면 될듯합니다.

 

SELECT LISTAGG(parts, ',') WITHIN GROUP (ORDER BY parts) list
FROM (
SELECT DISTINCT(REPLACE(REGEXP_SUBSTR(txt, '[^,]+', 1, level),'''','')) AS parts
FROM test2 
WHERE txt like '''사과%'''
CONNECT BY REGEXP_SUBSTR(txt, '[^,]+', 1, level) IS NOT NULL
);

 


by 우리집아찌 [2022.11.16 15:39:44]

먼저 컬럼은 행으로 바꾸서 중복제거후 LISTAGG 함수 사용하시면 될것같네요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입