SQL 연습

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

hakstroy 2024. 11. 15. 14:29

※ IFNULL 사용법

 : IFNULL(컬럼명, "컬럼의 값이 null일 경우 null 대신 들어갈 값")

: AVG(IFNULL(LENGTH,10)) >= 33

 - LENGTH 컬럼의 null값들을 10으로 바꾸고 평균을 낸 후 33이상 값을 추출해라

 

사용되는 테이블 

테이블 
 : 잡은 물고기들의 정보 - FISH_INFO
 속성
 : ID - 물고기의 ID
 : FISH_TYPE - 물고기의 종류(숫자)
 : LENGTH - 잡은 물고기의 길이(cm)
 : TIME - 물고기를 잡은 날짜

문제

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

 

예시

나의 풀이

SELECT COUNT(ID) AS FISH_COUNT, MAX(LENGTH) AS MAX_LENGTH, FISH_TYPE
FROM FISH_INFO
WHERE 1=1
GROUP BY FISH_TYPE
HAVING AVG(IFNULL(LENGTH,10)) >= 33
ORDER BY FISH_TYPE

;

풀이 결과

※ 오늘 하루도 화이팅입니다. 항상 배운다는 마인드로 임하자!! 성장!! 발전!! 꾸준히 하자..차근차근