카테고리 없음

[프로그래머스 SQL] 대장균들의 자식의 수 구하기

쨈이의 두번째 일기장 2025. 5. 29. 06:27

https://school.programmers.co.kr/learn/courses/30/lessons/299305

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

<처음에 쓴 오답>

WITH FINAL AS (
SELECT a.Parent_ID, b.ID
FROM ECOLI_DATA a
    LEFT JOIN ECOLI_DATA b
        ON a.PARENT_ID = b.ID
)

SELECT PARENT_ID AS ID , COUNT(ID) AS CHILD_COUNT
FROM FINAL
WHERE ID IS NOT NULL
GROUP BY parent_ID
ORDER BY ID

 

> CHILD_COUNT가 0인 경우도 나오게 해야 한다.

 

 

 

LEFT JOIN > ID를 기준으로 PARENT_ID를 붙여서 ID로 GROUP BY를 해야함

WITH FINAL AS (
SELECT a.ID, b.PARENT_ID
FROM ECOLI_DATA a
    LEFT JOIN ECOLI_DATA b
        ON a.ID = b.Parent_ID
)

SELECT ID, COUNT(Parent_ID) AS CHILD_COUNT
FROM FINAL
GROUP BY ID
ORDER BY ID