본문 바로가기
저장소이야기/Oracle

[Oracle] LISTAGG

by 사랑꾼이야 2020. 5. 22.
반응형

doc문서.

https://docs.oracle.com/cd/E11882_01/server.112/e41084/functions089.htm#SQLRF30030


샘플데이터 생성.

참고.(아래)

https://lovethefeel.tistory.com/13


LISTAGG.

여러 행을 하나의 컬럼으로 표현.

사용방법 1) 

부서명 전체를 한 컬럼으로 표현

// 특별한 기준이 없을 때는 ORDER BY의 NULL을 사용하면 된다.
SELECT LISTAGG(DEPARTMENT_NAME, ',') WITHIN GROUP (ORDER BY NULL) AS DEPARTMENT_NAMES
  FROM DEPARTMENTS


사용방법 2

해당 JOB별 직원의 이름을 한 컬럼으로 표현

// 기준값은 ORDER BY의 필드명을 사용하면 된다.
SELECT JOB, LISTAGG(EMPLOYEE_NAME, ',') WITHIN GROUP (ORDER BY JOB) AS EMPLOYEE_NAMES
  FROM EMPLOYEES
 GROUP BY JOB


총평.

MySQL은 group_concat으로 사용할 수 있다로 하더라. 

반응형

'저장소이야기 > Oracle' 카테고리의 다른 글

[Oracle] CONCAT과 ||(파이프,pipe) 문자열 합치기  (0) 2020.05.28
[Oracle] LPAD와 RPAD  (0) 2020.05.22
[Oracle] Order by절  (0) 2020.05.19
[Oracle] INTERSECT와 MINUS  (0) 2020.05.11
[Oracle] UNION과 UNION ALL  (0) 2019.11.26

댓글