각 속성값에 대한 상위 카테고리가 있고, 속성값은 여러 상위 카테고리에 중복으로 들어갈 수 있음.
중복된 속성값을 확인하고, 해당되는 상위 카테고리가 어떤 것인지 파악하기 위한 쿼리를 작성하며
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;
'SQL' 카테고리의 다른 글
[4] 전력 소비량 이동 평균 구하기 (0) | 2025.04.15 |
---|---|
월별 리텐션 분석 (DuckDB : SQL) (0) | 2025.04.04 |
SQL : 3장 5강 (0) | 2024.08.10 |
프로그래머스 : FrontEnd 개발자 찾기 (0) | 2024.07.08 |
프로그래머스 : 그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2024.07.07 |