Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 잡은 물고기의 평균 길이 구하기 (MySQL) 본문

DB/프로그래머스(MySQL)

[프로그래머스] - 잡은 물고기의 평균 길이 구하기 (MySQL)

luke-king 2024. 10. 13. 19:54

 

 

 

 

 

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/293259

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

풀이.


 

SELECT ROUND(SUM(IFNULL(LENGTH, 10))/COUNT(ID), 2) AS AVERAGE_LENGTH
FROM FISH_INFO

 

이번 문제는 프로그래머스 MySQL "잡은 물고기의 평균 길이 구하기" 문제다.

문제를 푸는데 어려움점 보다는 함수 안에 함수를 넣어햐 하므로 접근하는데 조금 어려움 이 있을 수도 있다. 하지만 보면 금방 이해할 수 있다.

그럼 바로 풀이해보겠다.

 

1. 소수점 셋째 자리에서 반올림을 하기 위해서 ROUND() 함수를 사용해 준다.

 

2. ROUND() 함수를 사용할 때 (컬럼, 반올림자리)를 적어주는데 컬럼 부분에서는 LENGTH의 값들을 모두 더한 뒤 평균을 구해야 하므로 SUM() 함수를 사용해 준다.

 

3. SUM() 함수를 사용할 때 NULL값인 값들은 10 이하이므로 10으로 대체한다는 지문 내용이 있다, 그때 IFNULL() 함수를 사용해 준다. IFUNLL은 만약 NULL값이면 그 컬럼값을 무엇으로 대체할 것인지 정할 수 있다. 그래서 LENGTH컬럼 중 NULL값이면 우리는 10으로 지정해준다. 그 후 COUNT(ID)를 해줘서 평균을 구해준다.

 

4. 평균을 구했다면 마지막으로 ROUND 함수의(소수값, 반올림자리) 이므로 소수값은 구했으니 반올림 자리를 2로 해주면 끝이다.