우당탕탕 개발일지
[SQL] 프로그래머스 GROUP BY: 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (level 3) 본문
💡문제 링크
💡SQL 코드 설계
FISH_INFO에서 평균 길이가 33cm 이상인 물고기들을 종류별로 분류하여 잡은 수, 최대 길이, 물고기의 종류를 출력하는 SQL문을 작성해주세요. 결과는 물고기 종류에 대해 오름차순으로 정렬해주시고, 10cm이하의 물고기들은 10cm로 취급하여 평균 길이를 구해주세요.
컬럼명은 물고기의 종류 'FISH_TYPE', 잡은 수 'FISH_COUNT', 최대 길이 'MAX_LENGTH'로 해주세요.
1. 평균 길이가 33cm 이상인 물고기들을 출력하니까 WHERE AVG(LENGTH) >= 33
2. 그런데 10cm이하의 물고기(NULL값)들은 10cm로 취급하여 평균 길이를 구해야하니까 WHERE AVG(COALESCE(LENGTH, 10)) >= 33
💡SQL 코드
-- 코드를 작성해주세요
SELECT COUNT(ID) AS FISH_COUNT, MAX(LENGTH) AS MAX_LENGTH, FISH_TYPE
FROM FISH_INFO
GROUP BY FISH_TYPE
HAVING AVG(COALESCE(LENGTH, 10)) >= 33
ORDER BY FISH_TYPE
💡기억할 내용
1. NULL값을 a로 대체하려면 COALESCE(NULL값이 포함된 열 이름, a)
'SQL' 카테고리의 다른 글
[SQL] 프로그래머스 Select : 특정 세대의 대장균 찾기 (level 4) (0) | 2024.06.20 |
---|---|
[SQL] 프로그래머스 SELECT : 특정 물고기를 잡은 총 수 구하기 (level 2) (0) | 2024.03.26 |
[SQL] 프로그래머스 SUM, MAX, MIN : 잡은 물고기 중 가장 큰 물고기의 길이 구하기 (level 1) (0) | 2024.03.23 |
[SQL] 프로그래머스 SUM, MAX, MIN : 물고기 종류 별 대어 찾기 (level 3) (1) | 2024.03.22 |
[SQL] 프로그래머스 GROUP BY : 물고기별 잡은 수 구하기(level 2) (0) | 2024.03.17 |