문제:
물고기 종류 별로 가장 큰 물고기의 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
;
'[SQL] 연습' 카테고리의 다른 글
[MySQL] 프로그래머스 그룹별 조건에 맞는 식당 목록 출력하기 (1) | 2025.04.04 |
---|---|
[MySQL] 프로그래머스 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기 (0) | 2025.04.01 |
[MySQL] 프로그래머스 업그레이드 할 수 없는 아이템 구하기 (0) | 2025.03.28 |
[MySQL] 프로그래머스 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (0) | 2025.03.23 |
[MySQL] 프로그래머스 주문량이 많은 아이스크림들 조회하기 (0) | 2025.03.02 |