728x90
반응형
반응형
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
FISH_INFO에서 평균 길이가 33cm 이상인 물고기들을 종류별로 분류하여 잡은 수, 최대 길이, 물고기의 종류를 출력하는 SQL 문을 작성해주세요.
결과는 물고기 종류에 대해 오름차순으로 정렬해주시고, 10cm이하의 물고기들은 10cm로 취급하여 평균 길이를 구해주세요.
컬럼명은 물고기의 종ㄹ류 'FISH_TYPE', 잡은 수 'FISH_COUNT', 최대 길이 'MAX_LENGTH'로 해주세요.
- 풀이 1 (IFNULL 사용)
SELECT COUNT(*) FISH_COUNT, MAX(LENGTH) MAX_LENGTH, FISH_TYPE
FROM FISH_INFO
WHERE FISH_TYPE IN (SELECT FISH_TYPE
FROM FISH_INFO
GROUP BY FISH_TYPE
HAVING AVG(IFNULL(LENGTH, 10)) >= 33)
GROUP BY FISH_TYPE
ORDER BY 3
- 풀이 2 (COALESCE 사용)
SELECT COUNT(*) FISH_COUNT, MAX(LENGTH) MAX_LENGTH, FISH_TYPE
FROM FISH_INFO
WHERE FISH_TYPE IN (SELECT FISH_TYPE
FROM FISH_INFO
GROUP BY FISH_TYPE
HAVING AVG(COALESCE(LENGTH, 10)) >= 33)
GROUP BY FISH_TYPE
ORDER BY 3
728x90
반응형
'MySQL > PROGRAMMERS' 카테고리의 다른 글
Lv.3 대장균들의 자식의 수 구하기 (0) | 2025.02.05 |
---|---|
Lv.3 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (3) | 2025.02.05 |
Lv.3 헤비 유저가 소유한 장소 (1) | 2025.02.04 |