ღ yuni_world ღ

[MySQL] [프로그래머스 level 3] 대장균들의 자식의 수 구하기 본문

MySQL/프로그래머스

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

ღ유닝이ღ 2025. 5. 23. 19:56

📌 문제링크

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

 

코딩테스트 연습 - 대장균들의 자식의 수 구하기

알고리즘 문제 연습 카카오톡 친구해요! 프로그래머스 교육 카카오 채널을 만들었어요. 여기를 눌러, 친구 추가를 해주세요. 신규 교육 과정 소식은 물론 다양한 이벤트 소식을 가장 먼저 알려

school.programmers.co.kr

 


📌 문제풀이

with

raw1 as (
    select a.parent_id, count(b.id) as cnt
    from ecoli_data a inner join ecoli_data b on a.parent_id = b.id
    group by 1
)

select a.id, coalesce(cnt, 0) as child_count
from ecoli_data a left join raw1 b on a.id = b.parent_id
order by 1

📖 NOTE

- raw1에서 join, count를 활용하여 개체별 자식 수를 구하고

- 최종 쿼리문에서 COALESCE 함수를 사용하여 자식이 없는 경우 NULL 대신 0을 반환하도록 설정

- null값 채우는 방법은 아래 내용 참고

https://yooninging.tistory.com/85

 

[MySQL] NULL값 채우기 (COALESCE, IFNULL, IF문, CASE문)

📌 데이터의 NULL값을 다른 값으로 채우는 방법 4가지📚 COALESCE(컬럼1, 컬럼2, ..., 컬럼n(대체할 값), ...)컬럼1이 null 이면 컬럼2를 반환, null이 아니면 컬럼1을 반환컬럼1이 null & 컬럼2이 null 이면 컬

yooninging.tistory.com