DB/MySQL

GROUP_CONCAT feat. DISTINCT

annovation 2025. 1. 3. 08:49

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