- [프로그래머스 코딩테스트] MySQL Lv.3 대장균들의 자식의 수 구하기2024년 07월 09일
- chantleman
- 작성자
- 2024.07.09.:05
문제 설명
대장균들은 일정 주기로 분화하며, 분화를 시작한 개체를 부모 개체, 분화가 되어 나온 개체를 자식 개체라고 합니다.
다음은 실험실에서 배양한 대장균들의 정보를 담은 ECOLI_DATA 테이블입니다.
ID : 대장균 개체의 ID
PARENT_ID : 부모 개체의 ID
SIZE_OF_COLONY : 개체의 크기
DIFFERENTIATION_DATE : 분화되어 나온 날짜
GENOTYPE : 개체의 형질
최초의 대장균 개체의 PARENT_ID는 NULL값
문제
대장균 개체의 ID(ID)와 자식의 수(CHILD_COUNT)를 출력하는 SQL문을 작성해주세요. 자식이 없다면 자식의 수는 0으로 출력해주세요. 이때 결과는 개체의 ID에 대해 오름차순 정렬해주세요.
예를 들어 ECOLI_DATA 테이블이 다음과 같다면
ID 1인 개체의 자식은 ID 3으로 1개 ID 2인 개체의 자식은 ID 4, 5로 2개 ID 4인 개체의 자식은 ID 6으로 1개이며, 나머지 개체들은 자식이 없으므로 ID에 대해 오름차순 정렬하면 결과는 다음과 같아야합니다.
풀이
select a.id, (select count(*) from ecoli_data b where a.id = b.parent_id) as child_count from ecoli_data a order by a.id asc;
부모 테이블: a
자식 테이블 : b
자식 테이블의 부모 id(b.paret_id)와 부모테이블의 id(a.id)가 같아야함
728x90'코딩테스트 > lv3' 카테고리의 다른 글
[프로그래머스 코딩테스트] oracle lv.3 자동차 대여 기록에서 대여중/대여 가능 여부 구분하기 (0) 2024.11.04 [프로그래머스 코딩테스트] Oracle Lv.3 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) 2024.07.17 [프로그래머스 코딩테스트] Oracle Lv.3 조건에 맞는 사용자 정보 조회하기 (0) 2024.07.08 [프로그래머스 코딩테스트]Oracle Lv.3 조건에 맞는 사용자와 총 거래금액 조회하기 (0) 2024.07.08 [프로그래머스 코딩테스트] MySQL Lv.3 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (0) 2024.07.04 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)