문제풀이/SQL

월별 잡은 물고기 수 구하기

monawa 2025. 7. 15.
728x90

문제

https://school.programmers.co.kr/learn/courses/30/lessons/298519

 

프로그래머스

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

programmers.co.kr

 

 

FISH_INFO    
ID FISH_TYPE LENGTH TIME
0 0 30 2021-12-04
1 0 50 2020-03-07
2 0 40 2020-03-07
3 1 20 2022-03-09
4 1 null 2022-04-08
5 2 13 2021-04-28
6 3 60 2021-07-27
7 0 55 2021-01-18
8 2 73 2020-01-28
9 3 73 2021-04-08
10 2 22 2020-06-28
11 2 17 2022-12-23

 

 

풀이

select 
    count(*) as FISH_COUNT
    ,max(LENGTH) as MAX_LENGTH
    ,FISH_TYPE as FISH_TYPE

from 
    FISH_INFO
    
group by FISH_TYPE
having avg(ifnull(LENGTH,10)) >= 33

order by FISH_TYPE

10이하는 null이라고 했으니 ifnull로 10 취급해준다 

 

그럼 이떄 null이 아니면 어떻게 해야할까??!

        CASE
            WHEN LENGTH <= 10 THEN 10
            ELSE LENGTH
        END

 

조건문을 써서 바꿔주면 됩니다 

728x90

댓글