데이터베이스/MySQL

[MySQL] 컬럼 값을 하나의 문자열로 합치기 (GROUP_CONCAT 함수)

떨어지는 용 2018. 1. 3. 10:42

▶MySQL 컬럼 값을 하나의 문자열로 합치기 (GROUP_CONCAT 함수)



▶설명


간혹 컬럼에 저장된 내용을 하나의 문자열로 가져와야하는 경우가 있습니다.

이 때 사용하는 함수가 GROUP_CONCAT 함수입니다.

GROUP_CONCAT 함수는 지정된 컬럼에서 NULL이 아닌 값을 콤마(,)로 합쳐 하나의 문자열로 가져오는 함수입니다.


▶사용법


SELECT GROUP_CONCAT(묶을 컬럼 [, 데이터1, 데이터2 ...]) FROM 테이블명 [WHERE 조건];
- 데이터1, 데이터2 등이 있으면, 컬럼 값에 추가로 데이터를 붙인 다음에 묶습니다.



▶예제 쿼리 (Example Query)



예제 테이블 : hero_collection

 idx

type 

name 

 안중근

 윤봉길

 김유신

 이순신

 이성계

 왕건

 7 

 반갑수

 8 

  4 

 (NULL)



쿼리 (Query)

SELECT GROUP_CONCAT(name, ":", type) AS hero_string FROM hero_collection;


결과

 hero_string

 안중근:1,윤봉길:1,김유신:2,이순신:2,이성계:3,왕건:3,반갑수:4