티스토리 뷰
728x90
안녕하세요. 개발개입니다.
이번 글에서는 여러 행의 내용을 합치는 데 사용되는
LISTAGG 함수에 대해 알아 보도록 하겠습니다.
오타, 오류 혹은 기타 의견은 언제든지 환영합니다.
LISTAGG 함수 특징
- ORACLE 11g에서 추가된 기능
- ORACLE 10g 이하에서는 WM_CONCAT 사용
- 길이 제한이 있음 (대안: XMLAGG)
- 정렬 가능
- 구분자 변경 가능
LISTAGG 작성 방법
SELECT LISTAGG(대상컬럼, 구분자) WITHIN GROUP (ORDER BY 정렬기준컬럼)
FROM 테이블명
LISTAGG 사용 예시
사용 대상 테이블 조회
SELECT *
FROM FILMS;
개봉일 기준으로 영화 리스트 조회
FILM_NAME 컬럼을 RELEASE_DATE 컬럼 기준으로 그루핑하고
내부 내용은 쉼표 구분자를 이용하여 오름차순 정렬하는 쿼리
SELECT LISTAGG(FILM_NAME, ', ') WITHIN GROUP (ORDER BY FILM_NAME) AS FILM_NAME,
RELEASE_DATE
FROM FILMS
GROUP BY RELEASE_DATE;
본 글은 다음을 참고하여 작성되었습니다.
https://aljjabaegi.tistory.com/144
728x90