🧩 문제 및 해석
- 각 세대별 자식이 없는 개체의 수(COUNT)와 세대(GENERATION)(오름차순)
- 세대 별 GROUP BY 필요
- 자식의 부모 ID들을 구해서 NOT IN을 이용해서 세대별 자식이 없는 개체 구하기
✨ 내가 푼 코드
WITH RECURSIVE GEN_DATA AS (
SELECT ID, PARENT_ID, 1 AS GEN
FROM ECOLI_DATA
WHERE PARENT_ID IS NULL
UNION ALL
SELECT E.ID, E.PARENT_ID, G.GEN + 1 AS GEN
FROM ECOLI_DATA AS E
INNER JOIN GEN_DATA AS G ON E.PARENT_ID = G.ID
)
SELECT COUNT(*) AS COUNT, GEN AS GENERATION
FROM GEN_DATA
WHERE ID NOT IN (SELECT PARENT_ID FROM GEN_DATA WHERE PARENT_ID IS NOT NULL)
GROUP BY GENERATION
'DBMS > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 특정 세대의 대장균 찾기 (0) | 2024.05.28 |
---|---|
프로그래머스 - SQL.자동차 대여 기록 별 대여 금액 구하기 (1) | 2024.01.08 |