특정 조건을 만족하는 물고기별 수와 최대 길이 구하기
<문제>
FISH_INFO에서 평균 길이가 33cm 이상인 물고기들을 종류별로 분류하여 잡은 수, 최대 길이, 물고기의 종류를 출력하는 SQL문을 작성해주세요. 결과는 물고기 종류에 대해 오름차순으로 정렬해주시고, 10cm이하의 물고기들은 10cm로 취급하여 평균 길이를 구해주세요.
컬럼명은 물고기의 종류 'FISH_TYPE', 잡은 수 'FISH_COUNT', 최대 길이 'MAX_LENGTH'로 해주세요.
SELECT COUNT(FISH_TYPE) FISH_COUNT , MAX(LENGTH) MAX_LENGTH ,FISH_TYPE
FROM FISH_INFO
GROUP BY FISH_TYPE
HAVING AVG(IFNULL(LENGTH,10)) >= 33
ORDER BY FISH_TYPE
<어렵게 느낀 이유>
평균 길이가 33 이상인 조건을 HAVING 절에서 표현하고, CASE WHEN 으로 별도의 행을 만들지 않아도 IFNULL 을 통해 NULL 인 항목을 10으로 취급할 수 있었음
'SQL' 카테고리의 다른 글
프로그래머스 SQL 오답노트 Level 4 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2025.10.15 |
---|---|
프로그래머스 SQL 오답노트 Level 3 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2025.10.14 |
프로그래머스 SQL 오답노트 Level 3 오랜 기간 보호한 동물 (2) (0) | 2025.10.14 |
프로그래머스 SQL 오답노트 251010 (0) | 2025.10.10 |