Dev JS Blog

[ORACLE] 여러 행 데이터 한 행에 본문

옛날 창고/SQL

[ORACLE] 여러 행 데이터 한 행에

Dev JS 2019. 4. 11. 17:26
728x90

한 컬럼에 데이터 모으기

 

 

 

쿼리를 짜다보면 여러 행으로 나뉘어 지는 데이터를 

한 컬럼에 다 표현해지고 싶어질때가 있습니다.

그래서 준비해봤습니다.

오라클에서 여러 행 데이터 한 행으로 묶는 법!

뚜둥탁!

 

 

 

바로 이런 데이터를 갖고있는 테이블이 있습니다.

NO 컬럼은 조 라고 생각 한다면

1조에 A, B 

2조에는 C, D 라고 NAME 컬럼의 여러 행 데이터들을 한 행의 컬럼으로 표현을 하고 싶습니다.

이럴때 사용하는게

LISTAGG 입니다.

 

1
2
3
4
5
SELECT
    no,
    LISTAGG(name,',') WITHIN GROUP(ORDER BY no) AS name
FROM ex_table
GROUP BY no
cs

 

사용 방법은 간단합니다.

LISTAGG(합치고싶은컬럼 , 구분자) WITHIN GROUP(정렬)

+ GROUP BY 를 해주셔야 합니다.

여러행을 합칠때 합치더라도 기준이 있어야하잖아요?ㅎㅎ

no 를 기준으로 합칠꺼니까

GROUP BY 에 NO를 해준겁니다.

 

 

깔끔히 1조 2조 (no) 기준으로 잘 묶여졌죠?

728x90

'옛날 창고 > SQL' 카테고리의 다른 글

[MYSQL] 통계쿼리 with rollup  (1) 2020.05.15
SQLITE 설치하기~  (0) 2020.05.13
[Oracle] 오라클 몫 나머지  (0) 2019.02.11
[Oracle] SQL developer 날짜 형식 설정  (2) 2019.01.31
[Oracle] 오라클 샘플 테이블  (0) 2019.01.28
Comments