반응형
풀이
종류별로 가장 큰 물고기의 길이와 그 물고기의 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
반응형
'SQL 쿼리 연습 > SUM, MAX, MIN' 카테고리의 다른 글
[Lv.2 / 프로그래머스 / SQL] 연도별 대장균 크기의 편차 구하기 (0) | 2024.04.30 |
---|---|
[Lv.2 / 프로그래머스 / SQL] 조건에 맞는 아이템들의 가격의 총합 구하기 (0) | 2024.03.19 |
[Lv.2 / 프로그래머스 / SQL] 중복 제거하기 (0) | 2023.03.23 |
[Lv.1 / 프로그래머스 / SQL] 최댓값 구하기 (0) | 2023.03.13 |
[Lv.2 / 프로그래머스 / SQL] 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2023.02.24 |