-
GROUP BY로 GROUPING한 필드말고 중복이 안되는 문자열들을 가진 필드의 문자열들을 합칠땐 GROUP_CONCAT을 사용
-
Table Schema(Table Name: example_table)
-
Table Sample Data
SELECT * FROM test_example;
-
콤마를 구분자로 한 결과값으로 합쳐져있는 문자열 도출(group_concat 기본 구분자는 콤마)
SELECT name, GROUP_CONCAT(value) FROM test_example GROUP BY name;
-
임의의 구분자로 한 결과값으로 합쳐져있는 문자열 도출
SELECT name, GROUP_CONCAT(value SEPARATOR '|') FROM test_example GROUP BY name;
-
임의의 구분자로 한 결과값으로 표시되는 결과의 중복을 제거
SELECT name, GROUP_CONCAT(DISTINCT value SEPARATOR '|') FROM test_example GROUP BY name;
-
임의의 구분자로 한 결과값으로 표시되는 결과의 중복을 제거한 값을 정렬하여 도출
SELECT name, GROUP_CONCAT(DISTINCT value ORDER BY value SEPARATOR '|') FROM test_example GROUP BY name;
MySQL에서 group by로 구분자를 이용하여 문자열을 합칠땐 GROUP_CONCAT을 이용한다.
- 기본: GROUP_CONCAT을(필드명)
- 임의의 구분자 지정: GROUP_CONCAT을(필드명 SEPARATOR '구분자')
- 중복제거: GROUP_CONCAT을(DISTINCT 필드명)
- 문자열기준으로 정렬 : GROUP_CONCAT을(필드명 ORDER BY 필드명)
-
출처: https://bkjeon1614.tistory.com/88?category=666040 [아무거나]