[오라클 SQL] LISTAGG 함수를 이용하여 여러행을 단일 컬럼으로 가져오기



 

안녕하세요~

 

오늘은 오라클에서 여러행을 단일 컬럼으로 가져오는 방법에 대해서 알려드리고자 합니다!

 

그럴러면, 오라클에서 제공해주는 함수인 LISTAGG라는 함수를 사용하셔야 해요!


 

LISTAGG 선언 방법


-     SELECT LISTAGG(가져올 컬럼, 구분자) WITHIN GROUP (ORDER BY 순서컬럼)

FROM 테이블

 

 

그럼 아래 STUDENT 테이블을 예시로 해당 NAME을 하나의 단일 컬럼으로 만들어 보겠습니다!


STUDENT Table





 

SQL 문


1

2

3

4

5

SELECT LISTAGG(NAME, ',') WITHIN GROUP (ORDER BY SCORE)

FROM WIN.STUDENT

;

SELECT LISTAGG(NAME, '^') WITHIN GROUP (ORDER BY SCORE)

FROM WIN.STUDENT

Colored by Color Scripter

cs

 

실행 결과


 

위와 같이 구분자를 각각 ‘,’, ‘;’ 으로 줘서 여러 행의 데이터들이 단일 컬럼으로 조회된 것을 확인 하실 수 있습니다!

 

감사합니다~~


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY