본문 바로가기
→ 프로그래밍.데이터베이스/DB,SQL

[오라클 함수]ORACLE LISTAGG 여러행을 하나의 컬럼으로 보여주기.

by jjo_Mean 2020. 6. 17.

#ORACLE LISTAGG  함수


- 여러행의 데이터를 하나의 칼럼으로 보여주고 싶을 때 LISTAGG 함수를 사용하면됩니다. 오라클 11g에 추가된 함수라 10g이하는 WM_CONCAT 함수를 사용해야된다고해요.

전 WM_CONCAT 함수는... 안쓸거같아서 LISTAGG 함수에 대해 포스팅해드리겠습니다.^^!!ㅋㅋㅋ


● 사용법 LISTAGG -> 오라클에서 여러행의 데이터를 한 행의 값으로 가져와야 할 때

SELECT LISTAGG(여러행컬럼, 구분자) WITHIN GROUP (ORDER BY 순서컬럼) FROM TABLE_NAME

-> LISTAGG 인자에 가져올 컬럼과 가져온 컬럼을 구분 할 수 있는 구분자를 넣어주면 됩니다.


● 사용예시

EX) 

SELECT LISTAGG(PARTICI_PSN, ' / ') WITHIN GROUP(ORDER BY BIZ_CD)  AS TEST 

    FROM CMN_BIZ_PSN

    WHERE 1=1

        AND BIZ_CD = '00001'

        AND BIZ_DIV = '01'


[결과]

    ------>  

이렇게 여러 행이 제가 지정한 구분자  ' / '로 구분되서 한 행으로 값을 가져오게 됩니다. 

쉽죠?하하하 끝!!!!!!