물고기 종류 별로 가장 큰 물고기의 ID, 물고기 이름, 길이를 출력하는 SQL 문을 작성해주세요.
물고기의 ID 컬럼명은 ID, 이름 컬럼명은 FISH_NAME, 길이 컬럼명은 LENGTH로 해주세요.
결과는 물고기의 ID에 대해 오름차순 정렬해주세요.
단, 물고기 종류별 가장 큰 물고기는 1마리만 있으며 10cm 이하의 물고기가 가장 큰 경우는 없습니다.

WITH CTE AS
(SELECT ID, FISH_TYPE, LENGTH, (ROW_NUMBER() OVER (PARTITION BY FISH_TYPE ORDER BY LENGTH DESC)) AS NUM
FROM FISH_INFO)
SELECT C.ID, N.FISH_NAME, C.LENGTH
FROM CTE C
LEFT JOIN FISH_NAME_INFO N
ON C.FISH_TYPE = N.FISH_TYPE
WHERE C.NUM = 1
ORDER BY C.ID ASC;
이것저것 다 해봤지만, ROW_NUMBER()로 해서 하는게 가장 편했다!
'문제풀이 > SQL 문제풀이' 카테고리의 다른 글
| 프로그래머스/SQL - 그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2025.10.18 |
|---|---|
| 프로그래머스 / SQL - 없어진 기록 찾기 (0) | 2025.10.12 |
| 프로그래머스/SQL - 연도별 대장균 크기의 편차 구하기 (0) | 2025.10.10 |
| 프로그래머스 / SQL - 대장균의 크기에 따라 분류하기 1(CASE WHEN) (0) | 2025.10.09 |
| 프로그래머스 / SQL - 조건에 맞는 개발자 찾기(비트연산자) (0) | 2025.10.09 |