본문 바로가기
MySQL/PROGRAMMERS

Lv.3 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기

by Freely_ 2025. 2. 5.
728x90
반응형
반응형
 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

FISH_INFO 테이블

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
반응형