GROUP_CONCAT
GROUP_CONCAT은 GROUP BY로 그룹화된 데이터에서, 그룹별로 데이터를 콤마로 구분된 문자열로 반환합니다.
* 기본 문법
GROUP_CONCAT([DISTINCT] column_name [ORDER BY column_name] [SEPARATOR 'separator_string'])
예제
* Table : Employees
| department | name |
| IT | Alice |
| IT | Bob |
| IT | Eve |
| IT | Alice |
| HR | Charlie |
| HR | David |
1. 기본 사용
부서별 직원 이름을 하나의 문자열로 반환
(1) Query
SELECT department, GROUP_CONCAT(name) AS employee_names
FROM Employees
GROUP BY department;
(2) Result
| department | employee_names |
| IT | Alice,Bob,Eve, Alice |
| HR | Charlie,David |
2. DISTINCT와 함께 사용
DISTINCT는 SELECT 문에서 중복된 행을 제거하여 고유한 결과만 반환합니다.
(1) Query
SELECT department, GROUP_CONCAT(DISTINCT name) AS employee_names
FROM Employees
GROUP BY department;
(2) Result
| department | employee_names |
| IT | Alice,Bob,Eve |
| HR | Charlie,David |
요약
- GROUP_CONCAT(DISTINCT)는 그룹 내 중복된 데이터를 제거하고, 고유 값을 연결하여 반환합니다.
- SEPARATOR를 사용해 구분자를 변경하거나, ORDER BY를 사용해 결과를 정렬할 수 있습니다.
- WHERE 조건을 추가하면 특정 조건에 따라 데이터를 필터링할 수 있습니다.
출처
OpenAI의 ChatGPT (https://openai.com)
'DB > MySQL' 카테고리의 다른 글
| 트랜젝션 (Transaction) (1) | 2025.02.01 |
|---|---|
| 서브쿼리(Subquery) (0) | 2025.01.06 |
| GROUP BY (0) | 2025.01.02 |
| JOIN (2) | 2025.01.01 |
| SELECT문 실행 순서 (0) | 2024.12.30 |