문제
부모 id를 기준으로 null이 아닌 값들을 그룹화한 테이블을 이용하여 문제를 풀이한다
ECOLI_DATA에 해당 그룹화 테이블을 조인하고 COALESCE 함수를 통해 합한다.
코드
SELECT a.id, COALESCE(b.count, 0) AS CHILD_COUNT
FROM ECOLI_DATA a LEFT JOIN (
SELECT parent_id, COUNT(*) AS COUNT
FROM ECOLI_DATA
GROUP BY parent_id
HAVING parent_id IS NOT NULL
) b ON a.id = b.parent_id
ORDER BY 1 ASC;
'DB > Programmers SQL Kit' 카테고리의 다른 글
[My_SQL] 특정 물고기를 잡은 총 수 구하기 (0) | 2024.06.03 |
---|---|
[My_SQL] 분기별 분화된 대장균의 개체 수 구하기 (0) | 2024.06.03 |
[My_SQL] 헤비 유저가 소유한 장소 (0) | 2024.05.30 |
[My_SQL] 대장균의 크기에 따라 분류하기 2 (0) | 2024.05.30 |
[My_SQL] 대장균의 크기에 따라 분류하기 1 (2) | 2024.05.30 |