https://school.programmers.co.kr/learn/courses/30/lessons/301651
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제를 한참봐도 어떻게 풀어야할 지 감이 안와서 해설을 보니 재귀문제.
너무 오랜만에 보는 형식이라 일단은 거의 복붙 수준으로 작업했다.
두고두고 복습해야하는 부분인듯
WITH RECURSIVE TMP AS
(
SELECT ID
,PARENT_ID
,1 AS GENERATION
FROM ECOLI_DATA
WHERE PARENT_ID IS NULL
UNION
SELECT D.ID
,D.PARENT_ID
,(T.GENERATION + 1) AS GENERATION
FROM ECOLI_DATA D, TMP T
WHERE D.PARENT_ID = T.ID
)
SELECT COUNT(ID) AS COUNT
,GENERATION
FROM TMP
WHERE ID NOT IN (
SELECT PARENT_ID
FROM TMP
WHERE PARENT_ID IS NOT NULL
)
GROUP BY GENERATION
'TIL 통합 > SQL' 카테고리의 다른 글
[프로그래머스] GROUP BY - 입양 시각 구하기(2) (0) | 2025.04.03 |
---|---|
[프로그래머스] JOIN - 상품을 구매한 회원 비율 구하기 (0) | 2025.04.02 |
[프로그래머스] JOIN - 특정 기간 동안 대여 가능한 자동차들 (0) | 2025.04.01 |
JOIN과 BETWEEN 활용, ORDER BY절의 조건문 (0) | 2024.04.15 |
조건문 및 SUBSTR로 문제 쉽게 풀기 (0) | 2024.04.03 |