Notice
Recent Posts
Recent Comments
Link
Dev JS Blog
[Oracle] 행 데이터 한 열로 합치기 본문
728x90
행 데이터 열로 합치기
여러 행으로 되어져있는 데이터를 한컬럼으로 모을수 없을까..?
EX_TABLE 에는 num 컬럼과 team 컬럼으로 데이터가 있습니다.
num 를 그룹지어서 team을 한 컬럼에 보여주려면 어떻게 해야할까요?
바로 WM_CONCAT 을 이용하면 됩니다.
1 2 3 4 5 | SELECT num, --그룹기준 WM_CONCAT(team) --합쳐질 컬럼 FROM EX_TABLE GROUP BY num | cs |
결과 >
TEAM이 모두 합쳐졌습니다. 기본으로 ,(콤마) 로 구분자로 한컬럼에 합쳐졌습니다.
이방법은 제가 알기론 10g 버전까지 활용하던 방법이고
11g 이상부터는 다른 함수를 활용하시면 되겠습니다.
LISTAGG 입니다.
LISTAGG(컬럼,구분자) WITHIN GROUP(ORDER BY 합쳐진컬럼안 정렬)
1 2 3 4 | SELECT num, --그룹기준 LISTAGG(team, '/') WITHIN GROUP (ORDER BY team desc) AS team FROM EX_TABLE | cs |
결과 >
WITHIN GROUP(ORDER BY team desc) 를 했때문에 TEAM 결과가
A/B/C가 아닌 C/B/A 로 역순으로 합쳐져있습니다.
728x90
'옛날 창고 > SQL' 카테고리의 다른 글
[Oracle] sql developer를 이용한 tablespace 생성 (1) | 2019.01.28 |
---|---|
[Oracle] 오라클 설치 (0) | 2019.01.27 |
[Oracle] ORA - 01861 에러 (0) | 2019.01.05 |
[Oracle] lead(), lag()는 뭐지? (0) | 2018.12.26 |
[SQL] JOIN 에 대해서 (0) | 2018.12.23 |
Comments