1. 문제 풀이 아이디어
LEFT JOIN
을 사용하여 부모 대장균과 자식 대장균을 연결하고,GROUP BY
로 부모별 자식 대장균 수를 계산하여 문제를 해결한다.
2. 나의 정답 코드
SELECT
p.id,
COUNT(c.id) child_count
FROM
ecoli_data p
LEFT JOIN
ecoli_data c
ON
p.id = c.parent_id
GROUP BY
p.id
ORDER BY
p.id;
3. 정리
LEFT JOIN
을 사용하여ecoli_data
테이블에서 부모(p
)와 자식(c
)을parent_id
로 연결한다.
COUNT(c.id)
를 사용하여 각 부모(p.id
)별 자식 대장균의 개수를 계산한다.
GROUP BY p.id
를 사용하여 부모 대장균을 기준으로 그룹화한다.
ORDER BY p.id
를 사용하여 부모 대장균의id
순서대로 정렬한다.
- 부모 대장균이 자식을 가지지 않으면
COUNT(c.id)
가 0이 되어 해당 부모도 결과에 포함된다.
Share article