본문으로 바로가기

[MySql] Group concat

category Helloworld!/MySql 2015. 3. 23. 17:02

다음과 같은 USER_TABLE이 있다고 치자.

USER_TABLE에는 NAME과 PART라는 컬럼이 있고

현재 PART가 4인 사용자들의 이름을 한꺼번에 쉼표로 구분하여 출력하고 싶다.


NAME 

PART 

 김세희 

 1

 김철수 

 2

이영희

 3

 홍길동 

 4

한예슬

 4

소지섭

 4



예를들어, PART 가 4인 사용자의 이름은 홍길동, 한예슬, 소지섭인데

이를 우리가 편히아는 SQL 문으로 출력하면

SELECT NAME WHERE USER_TABLE WHERE PART = 4

이렇게 쿼리문을 날리게 되고 출력은 다음과같이

각각의 ROW로 출력된다


NAME 

PART 

홍길동 

 4

한예슬

 4

소지섭

 4


하지만, 한 ROW에 "홍길동, 한예슬, 소지섭" 처럼 출력하고 싶으면 다음과같이 GROUP_CONCAT을 사용하면 된다.

중간에 들어갈 구분자의 모양은 SEPARATOR 옵션을 사용하면 변경할 수 있다.

SELECT GROUP_CONCAT(NAME SEPARATOR ', ') AS NAMES WHERE USER_TABLE WHERE PART=4


출력 : 홍길동, 한예슬, 소지섭