[SQL] 프로그래머스 : 대장균들의 자식의 수 구하기 (레벨3)
다이어그램
erDiagram
ECOLI_DATA ||--o{ ECOLI_DATA : "parent-child"
ECOLI_DATA {
int ID PK
int PARENT_ID FK
int SIZE_OF_COLONY
date DIFFERENTIATION_DATE
int GENOTYPE
}
목표
대장균 개체의 ID(ID)와 자식의 수(CHILD_COUNT)를 출력하는 SQL 문을 작성해주세요. 자식이 없다면 자식의 수는 0으로 출력해주세요. 이때 결과는 개체의 ID 에 대해 오름차순 정렬해주세요.
문제 풀이
MySQL
WITH GROUPED AS (
SELECT PARENT_ID, COUNT(*) AS COUNT
FROM ECOLI_DATA
GROUP BY PARENT_ID
)
SELECT E.ID, COALESCE(G.COUNT,0) AS CHILD_COUNT
FROM ECOLI_DATA AS E
LEFT JOIN GROUPED AS G ON E.ID = G.PARENT_ID
ORDER BY E.ID
- PARENT로 GROUP BY 해주기.
- LEFT JOIN + COALESCE로 NULL 처리하기
코멘트
- .
'Data Analysis > Query' 카테고리의 다른 글
[SQL] 연도별 대장균 크기의 편차 구하기 (레벨2) (0) | 2025.04.05 |
---|---|
[SQL] 프로그래머스 : 분기별 분화된 대장균의 개체 수 구하기 (레벨2) (0) | 2025.04.05 |
[SQL] 프로그래머스 : 대장균의 크기에 따라 분류하기 1 (레벨2) (0) | 2025.04.05 |
[SQL] 프로그래머스 : 대장균의 크기에 따라 분류하기 2 (레벨3) (0) | 2025.03.26 |
[SQL] 프로그래머스 : 특정 세대의 대장균 찾기 (레벨4) (0) | 2025.03.25 |
[SQL] 프로그래머스 : 멸종위기의 대장균 찾기 (레벨5) (0) | 2025.03.24 |
leetcode : 3220. Odd and Even Transactions (0) | 2025.02.13 |
댓글