WORK/DB

MYSQL GROUP_CONCAT (세로컬럼 가로로 합치기 )

im 수캥이 2018. 2. 1. 20:41


MYSQL GROUP_CONCAT 사용하기


이건 MSSQL 에서의 FOR XML PATH() 기능과 같다.


세로로 출력된 데이터 값을 인자값으로 구분하여 한 컬럼안에 뿌려주는 기능이다.




위와같은 테이블이 있다고 가정 했을때 

아래 그림처럼 데이터를 추가 해 보자



INSERT INTO STU_INFO VALUES (1 , '김혁수' , '1반')

INSERT INTO STU_INFO VALUES (2 , '이동민' , '1반')

INSERT INTO STU_INFO VALUES (3 , '김지현' , '1반')


그 후 데이터를 조회하면 아래처럼 조회된다.





이때 1반에 아이들을 '/' 기준으로 한 컬럼으로 보여지게 하고 싶다면 





SELECT 

GROUP_CONCAT(STU_NAME SEPARATOR '/') AS '1반'

FROM STU_INFO


라고 입력하면 된다.

여기서 
GROUP_CONCAT(컬럼명 SEPARATOR  '기준값')

이라고 입력 한다면 한 컬럼에 쭈욱 나올수 있음 !

아...ORACLE 쓰고싶다..

MYSQL 왤케 힘드냐 진짜 ㅠㅠ

이상으로 MYSQL GROUP_CONCAT에 대해 알아 보았습니다.



'WORK > DB' 카테고리의 다른 글

INSERT 후 PK 값 얻어오기  (0) 2018.02.12
mysql function 생성하기  (0) 2018.02.07
ORACLE 공백제거  (0) 2018.01.26
DB 별 컬럼 변경 방법  (0) 2018.01.25
MYSQL 에서 ORACLE 의 MERGE INTO 기능  (0) 2018.01.19