반응형

문제
잡은 물고기의 평균 길이를 출력하는 SQL문을 작성
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
요구 사항 확인
잡은 물고기의 평균 길이 조회
잡은 물고기 중 길이(LENGTH)가 10cm 이하인 경우는 NULL로 적용되어 있기 때문에
평균 길이를 구하는 경우에는 NULL인 경우에 10을 입력하고 해당 테이블을 활용해
길이(LENGTH)의 합계(SUM())를 길이(LENGTH) 갯수(COUNT())로 나누면 평균 길이 조회 가능(CTE 활용)
평균 길이(AVERAGE_LENGTH)는 소수점 3번째 자리에서 반올림하여 조회(ROUND())
with FISH_INFOS as ( select ID, FISH_TYPE, case when LENGTH is null then 10 else LENGTH end as LENGTH_NEW, TIME from FISH_INFO ) select round(sum(LENGTH_NEW) / count(LENGTH_NEW),2) as AVERAGE_LENGTH from FISH_INFOS;
IFNULL 활용
NULL인 경우에 10을 입력하므로 IFNULL 활용하여 입력하고
해당 값의 평균(AVG())을 구하고, 이를 반올림(ROUND())하여 평균 길이 조회
select round(AVG(ifnull(LENGTH,10)),2) as AVERAGE_LENGTH from FISH_INFO;

이와 비슷한 SQL 문제를 풀어보고 싶다면
프로그래머스에서 풀어볼 수 있습니다.
https://school.programmers.co.kr/
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
반응형
'코딩 테스트 > 프로그래머스_MySQL' 카테고리의 다른 글
[프로그래머스] MySQL_최댓값 구하기(SUM, MAX, MIN) (0) | 2025.03.14 |
---|---|
[프로그래머스] MySQL_한 해에 잡은 물고기 수 구하기(String, Date) (0) | 2025.03.14 |
[프로그래머스] MySQL_대장균의 크기에 따라 분류하기[1](SELECT) (0) | 2025.03.13 |
[프로그래머스] MySQL_조건에 부합하는 중고거래 상태 조회하기(String, Date) (0) | 2025.03.12 |
[프로그래머스] MySQL_없어진 기록 찾기(JOIN) (0) | 2025.03.12 |