SQL
SQL : GROUP_CONCAT
sooyeoon
2024. 10. 2. 02:48
각 속성값에 대한 상위 카테고리가 있고, 속성값은 여러 상위 카테고리에 중복으로 들어갈 수 있음.
중복된 속성값을 확인하고, 해당되는 상위 카테고리가 어떤 것인지 파악하기 위한 쿼리를 작성하며
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;