반응형
MySQL에서 GROUP_CONCAT() 함수는 그룹 내에서 열 값을 결합하여 하나의 문자열로 반환합니다.
기본적으로 구분자는 쉼표(,)입니다.
구분자를 변경하려면 SEPARATOR 옵션을 사용할 수 있습니다.
GROUP_CONCAT() 함수의 기본 문법은 다음과 같습니다.
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
- DISTINCT: 중복된 값을 제거합니다. DISTINCT 키워드를 지정하지 않으면 중복된 값도 그대로 출력됩니다.
- expr: 결합할 열을 지정합니다. 쉼표로 구분하여 여러 개의 열을 지정할 수 있습니다.
- ORDER BY: 결합할 열의 정렬 순서를 지정합니다. ASC 또는 DESC 키워드를 사용하여 오름차순 또는 내림차순으로 정렬할 수 있습니다.
- SEPARATOR: 결합할 열 사이에 삽입할 구분자를 지정합니다. 기본값은 쉼표(,)입니다.
예를 들어, employees 테이블에서 각 부서별 직원 이름을 쉼표로 구분하여 출력하고자 한다면, 다음과 같이 작성할 수 있습니다.
SELECT department, GROUP_CONCAT(name) AS employees
FROM employees
GROUP BY department;
위의 쿼리에서, GROUP_CONCAT(name) 함수는 name 열 값을 쉼표로 구분하여 결합한 문자열을 반환합니다.
이후 GROUP BY 절을 사용하여 각 부서별 직원을 그룹화하고, employees 열로 출력합니다.
GROUP_CONCAT() 함수는 문자열 길이에 제한이 있으므로, 만약 그룹화된 결과가 너무 큰 경우, max_group_concat_len 시스템 변수를 사용하여 최대 문자열 길이를 조정할 수 있습니다.
반응형
'SQL > MYSQL' 카테고리의 다른 글
[MYSQL] MySQL의 에디션 및 기능 비교하기 (0) | 2023.05.31 |
---|---|
[MYSQL] MYSQL이란 (0) | 2023.05.31 |
[MYSQL] DBMS의 개요 (0) | 2023.05.31 |
[MYSQL] SUBSTRING_INDEX 문자열 분리 함수 사용방법 (0) | 2023.05.30 |
[MYSQL] Coalesce 함수 Null이 아닌 값 반환 사용 방법 (0) | 2023.03.22 |
[MYSQL] INNER, LEFT, RIGHT, FULL JOIN 쿼리 사용 방법 (0) | 2023.03.19 |
[MYSQL] Copy table, Insert Into / 테이블 복사 쿼리 (0) | 2023.03.16 |
[MYSQL] Date_add 함수 사용 방법 (0) | 2023.03.14 |