반응형
이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 |
LISTAGG()
설명
LISTAGG() : 그룹에 속해 있는 데이터를 가로로 나열할 때 사용하는 함수. 오라클 11g 버전부터 사용 가능
문법
SELECT ...
LISTAGG([나열할 열(필수)], [각 데이터를 구분하는 구분자(선택)])
WITHIN GROUP(ORDER BY [나열할 열의 정렬 기준 열(선택)])
FROM ...
WHERE ...
사용 예시
-- query1
SELECT ENAME
FROM EMP
WHERE DEPTNO = 10;
-- query2
SELECT DEPTNO, ENAME
FROM EMP
GROUP BY DEPTNO, ENAME;
-- query3
SELECT DEPTNO
, LISTAGG(ENAME, ', ')
WITHIN GROUP(ORDER BY SAL DESC) AS ENAMES
FROM EMP
GROUP BY DEPTNO;
결과
-- query1
SELECT ENAME
FROM EMP
WHERE DEPTNO = 10;
-- query2
SELECT DEPTNO, ENAME
FROM EMP
GROUP BY DEPTNO, ENAME;
-- query3
SELECT DEPTNO
, LISTAGG(ENAME, ', ')
WITHIN GROUP(ORDER BY SAL DESC) AS ENAMES
FROM EMP
GROUP BY DEPTNO;
반응형
'개발 지식 > [DBMS] Oracle' 카테고리의 다른 글
[Oracle] JOIN(1) - JOIN의 기본 개념과 목적 (0) | 2022.05.28 |
---|---|
[Oracle] 데이터 그룹화(6) - PIVOT(), UNPIVOT() (0) | 2022.05.27 |
[Oracle] 데이터 그룹화(4) - GROUPING(), GROUPING_ID() (0) | 2022.05.25 |
[Oracle] 데이터 그룹화(3) - GROUPING SETS() (0) | 2022.05.24 |
[Oracle] 데이터 그룹화(2) - ROLLUP(), CUBE() (0) | 2022.05.23 |