SQL
[MySQL] 프로그래머스 - 물고기 종류 별 대어 찾기
bbomi
2024. 6. 13. 20:04
https://school.programmers.co.kr/learn/courses/30/lessons/293261
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
물고기 종류 별로 가장 큰 물고기의 ID, 물고기 이름, 길이를 출력하는 SQL 문을 작성해주세요. 물고기의 ID 컬럼명은 ID, 이름 컬럼명은 FISH_NAME, 길이 컬럼명은 LENGTH로 해주세요. 결과는 물고기의 ID에 대해 오름차순 정렬해주세요. 단, 물고기 종류별 가장 큰 물고기는 1마리만 있으며 10cm 이하의 물고기가 가장 큰 경우는 없습니다.
풀이
WITH FISH_RANK AS (
SELECT ID, FISH_NAME, LENGTH,
RANK() OVER (PARTITION BY FISH_TYPE ORDER BY LENGTH DESC) AS LENGTH_RANK
FROM FISH_INFO
JOIN FISH_NAME_INFO USING(FISH_TYPE)
)
SELECT ID, FISH_NAME, LENGTH
FROM FISH_RANK
WHERE LENGTH_RANK = 1
ORDER BY ID