파란색가운의 개발 블로그
[SQL 고득점 Kit] SUM/MAX/MIN - 물고기 종류 별 대어 찾기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/293261
난이도 : 중상
갑자기 문제가 좀 어렵게 다가왔다ㅏ,,,
SELECT ID, FISH_NAME, INFO.LENGTH AS LENGTH
FROM FISH_INFO AS INFO
JOIN FISH_NAME_INFO AS NAME
ON NAME.FISH_TYPE = INFO.FISH_TYPE -- 조인으로 일단 테이블 한개로 조져주고
WHERE INFO.LENGTH IN (SELECT MAX(LENGTH) FROM FISH_INFO
WHERE FISH_TYPE = NAME.FISH_TYPE
GROUP BY FISH_TYPE) -- 이렇게 하면 FISH_TYPE별 맥스 길이가 나오게 된다
-- 이렇게 해서 각각 행 한개씩 추출 가능
ORDER BY ID
서브쿼리에 GROUP BY를 통해서 FISH_TYPE별로 가장 큰 길이를 선택하였고,
그 가장 큰 길이에 포함되는 행들만 추출하는 방식 사용
JOIN까진 떠올렸는데 서브쿼리를 어디에 짜야하는지가 좀 감이 안오는 것 같다
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[SQL 고득점 Kit] GROUP BY - 저자 별 카테고리 별 매출액 집계하기 (0) | 2024.07.24 |
---|---|
[SQL 고득점 Kit] SUM/MAX/MIN - 잡은 물고기 중 가장 큰 물고기의 길이 구하기 (0) | 2024.07.21 |
[SQL 고득점 Kit] SUM/MAX/MIN - 중복 제거하기 (0) | 2024.07.20 |
[SQL 고득점 Kit] SUM/MAX/MIN - 최댓값 구하기 (0) | 2024.07.20 |
[SQL 고득점 Kit] SUM/MAX/MIN - 가장 비싼 상품 구하기 (0) | 2024.07.20 |