일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- coding test
- lambda
- collections
- 시간복잡도
- Stack
- CodingTest
- python
- join
- 코테
- 파이썬
- 코딩테스트
- BFS
- import re
- level4
- mysql
- counter
- 코딩
- coding
- 프로그래머스
- time complexity
- 연습문제
- Queue
- 데이터분석
- itertools
- sql
- Level2
- 조합
- programmers
- 완전탐색
- lv4
- Today
- Total
ror_coding
[Programmers Lv.5] 멸종위기의 대장균 찾기 - 301651 본문
728x90
RECURSIVE CTE 로 세대 Level 구하는 코드를 사용해야 합니다.
Question
각 세대별 자식이 없는 개체의 수(COUNT)와 세대(GENERATION)를 출력하는 SQL문을 작성해주세요.
이때 결과는 세대에 대해 오름차순 정렬해주세요. 단, 모든 세대에는 자식이 없는 개체가 적어도 1개체는 존재합니다.
Code
WITH RECURSIVE GENERATION AS(
SELECT ID, PARENT_ID, 1 AS LV
FROM ECOLI_DATA
WHERE PARENT_ID IS NULL
UNION ALL
SELECT E.ID, E.PARENT_ID, LV + 1
FROM ECOLI_DATA E JOIN GENERATION G
ON E.PARENT_ID = G.ID
)
SELECT COUNT(A.ID) AS COUNT, A.LV AS GENERATION
FROM GENERATION A LEFT JOIN GENERATION B
ON A.ID = B.PARENT_ID
WHERE B.ID IS NULL
GROUP BY 2
ORDER BY 2
![](https://t1.daumcdn.net/keditor/emoticon/friends2/large/068.png)
now me
On my github
728x90
'Algorithm > SQL' 카테고리의 다른 글
[Programmers Lv.5] 상품을 구매한 회원 비율 구하기 - 131534 (0) | 2025.01.16 |
---|---|
[Programmers Lv.4] 언어별 개발자 분류하기 - 276036 (0) | 2025.01.12 |
[Programmers Lv.4] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 - 157339 (0) | 2025.01.12 |
[Programmers Lv.4] FrontEnd 개발자 찾기 - 276035 (0) | 2025.01.12 |
[Programmers Lv.4] 자동차 대여 기록 별 대여 금액 구하기 - 151141 (0) | 2025.01.05 |