다음과 같은 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
출력 : 홍길동, 한예슬, 소지섭