문제
코드
WITH RECURSIVE ANCESTOR AS (
SELECT ID, PARENT_ID, 1 AS GENERATION
FROM ECOLI_DATA
WHERE PARENT_ID IS NULL
UNION
SELECT C.ID, C.PARENT_ID, (A.GENERATION + 1) AS GENERATION
FROM ECOLI_DATA C, ANCESTOR A
WHERE C.PARENT_ID = A.ID
)
SELECT COUNT(*) AS COUNT, GENERATION
FROM ANCESTOR
WHERE ID NOT IN (SELECT PARENT_ID FROM ANCESTOR WHERE PARENT_ID IS NOT NULL)
GROUP BY GENERATION
ORDER BY GENERATION
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/301651
'코딩테스트연습 > SQL_프로그래머스' 카테고리의 다른 글
프로그래머스 SQL 문제 ALL CLEAR (0) | 2025.06.30 |
---|---|
상품을 구매한 회원 비율 구하기 (0) | 2025.06.27 |
언어별 개발자 분류하기 (0) | 2025.06.26 |
특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (1) | 2025.06.25 |
FrontEnd 개발자 찾기 (0) | 2025.06.24 |