FISH_INFO에서 평균 길이가 33cm 이상인 물고기들을 종류별로 분류하여 잡은 수, 최대 길이, 물고기의 종류를 출력하는 SQL문을 작성해주세요. 결과는 물고기 종류에 대해 오름차순으로 정렬해주시고, 10cm이하의 물고기들은 10cm로 취급하여 평균 길이를 구해주세요.
컬럼명은 물고기의 종류 'FISH_TYPE', 잡은 수 'FISH_COUNT', 최대 길이 'MAX_LENGTH'로 해주세요.


LENGTH가 NULL일 때 (10 이하일 때) 10으로 간주하여 푸는 것만 신경쓰고 아래와 같이 코드를 짰더니 정답으로 인정이 되긴 했는데 채점결과가 60밖에 나오지 않았다. 다시 생각해보니, LENGTH가 NULL일 때를 10으로 만든 컬럼을 중에 MAX를 뽑는 연산이 적절한 풀이였다.
정답 코드는 아래에...
SELECT
COUNT(*) AS FISH_COUNT,
MAX(IFNULL(LENGTH, 10)) AS MAX_LENGTH,
FISH_TYPE
FROM
FISH_INFO
GROUP BY
FISH_TYPE
HAVING
AVG(LENGTH) >= 33
ORDER BY
FISH_TYPE ASC;

정답 코드
SELECT
COUNT(*) AS FISH_COUNT,
MAX(LENGTH) AS MAX_LENGTH,
FISH_TYPE
FROM
(SELECT
FISH_TYPE,
IFNULL(LENGTH, 10) AS LENGTH
FROM
FISH_INFO) AS NEW_INFO
GROUP BY
FISH_TYPE
HAVING
AVG(LENGTH) >= 33
ORDER BY
FISH_TYPE ASC;