[SQL] 연습

[MySQL] 프로그래머스 물고기 종류 별 대어 찾기

Simon Yoon 2025. 3. 30. 23:56

문제:

물고기 종류 별로 가장 큰 물고기의 ID, 물고기 이름, 길이를 출력
- 결과는 물고기의 ID에 대해 오름차순 정렬
- 물고기 종류별 가장 큰 물고기는 1마리만 있음

 

해결방법:

1. 물고기 종류 별 가장 큰 물고기 GROUP BY, MAX 로 조회

2. 가장 큰 물고기 ID 는 서브쿼리로 조회

3. 물고리 이름 테이블과 다시 한번 조인하여 조회

 

예시코드:

SELECT ID, FISH_NAME, LENGTH
FROM (
    SELECT ID, T1.FISH_TYPE, LENGTH
    FROM FISH_INFO T1
    INNER JOIN (
        SELECT FISH_TYPE, MAX(LENGTH) MAX_LENGTH
        FROM FISH_INFO INFO
        GROUP BY FISH_TYPE
    ) T2
    ON T1.FISH_TYPE = T2.FISH_TYPE AND T1.LENGTH = T2.MAX_LENGTH
) T3
INNER JOIN FISH_NAME_INFO NAME
ON T3.FISH_TYPE = NAME.FISH_TYPE
ORDER BY ID ASC
;