본문 바로가기

DB/Programmers SQL Kit

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

문제

 

 

우선 NULL일 길이를 다 10CM로 변경한 테이블을 생성하고 해당 테이블을 FISH_TYPE별로 그룹화하면서 AVG(LENGTH)가 33 이상인 값들만 살렸다.

 

코드

 

WITH FISH_INFO_NEW AS (
    SELECT ID, FISH_TYPE, IFNULL(LENGTH, 10) AS 'LENGTH', TIME
    FROM FISH_INFO
)

SELECT COUNT(*) AS 'FISH_COUNT', MAX(LENGTH) AS 'MAX_LENGTH', FISH_TYPE
FROM FISH_INFO_NEW
GROUP BY FISH_TYPE
HAVING AVG(LENGTH) >= 33
ORDER BY 3 ASC;