SQL/GROUP BY

[프로그래머스 SQL] Lv.3 - 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기

이런개발 2025. 3. 28. 09:15

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

 

프로그래머스

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

programmers.co.kr

문제 풀이

  1. 물고기의 종류를 기준으로 그룹핑한다. 이때 HAVING 조건으로 평균 길이가 33cm 이상인 그룹만 필터링한다. 10cm 이하는 NULL이기 때문에 IFNULL 키워드를 함께 사용한다.
  2. COUNT 키워드로 종류별 수, MAX 키워드로 종류별 최대 길이, 그리고 물고기의 종류를 조회한다.
  3. 물고기 종류를 기준으로 오름차순 정렬한다.
SELECT
    COUNT(*) AS FISH_COUNT,
    MAX(LENGTH) AS MAX_LENGTH,
    FISH_TYPE
FROM
    FISH_INFO
GROUP BY
    FISH_TYPE
    HAVING AVG(IFNULL(LENGTH, 10)) >= 33
ORDER BY
    3