[SQL 문제 풀기] 대장균들의 자식의 수 구하기(299305)

lhs's avatar
Feb 13, 2025
[SQL 문제 풀기] 대장균들의 자식의 수 구하기(299305)
 

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

LHS's Study Space