본문 바로가기
SQL

SQL : GROUP_CONCAT

by sooyeoon 2024. 10. 2.

각 속성값에 대한 상위 카테고리가 있고, 속성값은 여러 상위 카테고리에 중복으로 들어갈 수 있음.

중복된 속성값을 확인하고, 해당되는 상위 카테고리가 어떤 것인지 파악하기 위한 쿼리를 작성하며 

GROUP_CONCAT을 활용 

GROUP_CONCAT을 통해 그룹핑된 결과를 하나의 결과값으로 표현할 수 있다.

 

1. GROUP BY속성 값을 그룹화

2. HAVING 으로 2개 이상의 속성 값이면 출력 COUNT(DISTINCT 속성) > 1

3. GROUP_CONCAT으로 속성 값을 포함하고 있는 상위 카테고리 목록을 나열

 

SELECT
    attribute AS "속성값",
    COUNT(DISTINCT category) AS "상위 카테고리 개수",
    GROUP_CONCAT(DISTINCT category) AS "상위 카테고리 목록" -- 속성 값을 포함하고 있는 상위 카테고리 목록을 나열
FROM Table
GROUP BY attribute -- 속성 값을 그룹화
HAVING COUNT(DISTINCT category) > 1 -- 2개 이상의 속성 값이면 출력 COUNT(DISTINCT 속성) > 1
ORDER BY attribute;