특정 조건을 만족하는 물고기별 수와 최대 길이 구하기

정민교·2024년 3월 21일
0

SQL프로그래머스

목록 보기
22/25

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

정답

SELECT
    COUNT(FISH_INFO.FISH_TYPE) AS FISH_COUNT,
    MAX(LENGTH) AS MAX_LENGTH,
    FISH_INFO.FISH_TYPE
FROM
    FISH_INFO JOIN (
        SELECT 
            FISH_TYPE,
            SUM(IF(LENGTH IS NULL, 10, LENGTH)) / COUNT(FISH_TYPE) AS AVG_LENGTH
        FROM
            FISH_INFO
        GROUP BY
            FISH_TYPE
        HAVING
            AVG_LENGTH >= 33
    ) AS AVG_LENGTH_INFO ON FISH_INFO.FISH_TYPE = AVG_LENGTH_INFO.FISH_TYPE
GROUP BY
    FISH_INFO.FISH_TYPE
ORDER BY
    FISH_INFO.FISH_TYPE;

포인트

  1. 타입별로 평균 길이가 33 이상인 물고기만 필터링하여 조인
profile
백엔드 개발자

0개의 댓글