[SQL 고득점 Kit-MySQL] 대장균들의 자식의 수 구하기

코린이·2025년 2월 16일

SQL 문제 풀이 (MySQL)

목록 보기
27/96

❓ 문제

대장균 개체의 ID(ID)와 자식의 수(CHILD_COUNT)를 출력하는 SQL 문을 작성해주세요. 자식이 없다면 자식의 수는 0으로 출력해주세요. 이때 결과는 개체의 ID 에 대해 오름차순 정렬해주세요.


❗️ 문제 풀이

1차 문제 풀이

WITH TMP_TABLE AS (
    SELECT
        A.ID
        , COUNT(*) AS CHILD_COUNT
    FROM ECOLI_DATA A JOIN ECOLI_DATA B
        ON A.ID = B.PARENT_ID
    GROUP BY ID
)
SELECT
    A.ID
    ,IFNULL(CHILD_COUNT, 0) AS CHILD_COUNT
FROM ECOLI_DATA A LEFT JOIN TMP_TABLE B
    ON A.ID = B.ID
;

2차 문제 풀이

SELECT 
    A.ID
    , COUNT(B.PARENT_ID) AS CHILD_COUNT
FROM ECOLI_DATA A LEFT JOIN ECOLI_DATA B
    ON A.ID = B.PARENT_ID
GROUP BY A.ID
ORDER BY A.ID
;

🔗 Reference

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

0개의 댓글