SQL 쿼리 연습/SUM, MAX, MIN
[Lv.3 / 프로그래머스 / SQL] 물고기 종류 별 대어 찾기
김세진
2024. 5. 5. 23:56
반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
종류별로 가장 큰 물고기의 길이와 그 물고기의 ID를 출력해야 한다.
물고기의 ID를 출력해야 하는 부분 때문에 단순히 집계 함수로 문제를 해결할 수 없다.
따라서 물고기의 종류별로 가장 긴 실제 레코드를 서브쿼리로 구한 뒤 메인 쿼리와 비교하여 해결해야 한다.
NAME을 출력해야 하는 부분은 INNER JOIN을 통해 해결할 수 있다.
SELECT
ID,
FISH_NAME,
LENGTH
FROM
FISH_INFO AS FI
INNER JOIN
FISH_NAME_INFO AS FNI
ON
FNI.FISH_TYPE = FI.FISH_TYPE
WHERE
(FI.FISH_TYPE, FI.LENGTH) IN (
SELECT
FISH_TYPE,
MAX(LENGTH)
FROM
FISH_INFO
GROUP BY
FISH_TYPE
)
ORDER BY
FI.ID
반응형