SQL/프로그래머스

[프로그래머스] 자동차 평균 대여 기간 구하기 (Mysql)

에릭 Kim 2023. 5. 7. 16:36
반응형

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

 

프로그래머스

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

programmers.co.kr

 

소스코드

 

풀이

★ 평균 대여 일수를 구하기 위해서는 날짜 차이를 가져올 수 있는 'DATEDIFF' 함수를 사용해야 합니다. 

EX) DATEDIFF(날짜1, 날짜2) => 날짜1 - 날짜2

 

★ DATEDIFF를 사용하여 날짜 차이를 구한 뒤 +1을 해주는 이유는 끝날짜와 시작날짜의 차이가 0일때 이는 대여 일수 1을 뜻하기 때문입니다.

EX) 2022-10-05 - 2022-10-05 => 대여일수 1일

 

★ 이렇게 날짜 차이를 구해줬다면 평균을 구하는 함수인 AVG를 사용하여 평균 대여 일수를 구한 뒤, ROUND 함수에 인자로 1을 줘서, 소수점 첫번째 자리까지 반올림하여 평균을 출력합니다. 

 

★ 또한 평균 대여 일수가 7일 이상인 차들에 한하여 결과값을 출력해야 하기 때문에 GROUP BY저에서 CAR_ID끼리 그룹핑을 한 뒤, 평균 대여 일수가 7이상인 것들만 추출해줍니다. 

 

 

 

★ 날짜 차이 가져오기 참고자료

https://extbrain.tistory.com/78

 

[MySQL] 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수)

▶MySQL 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수) ▶설명 MySQL에서 두 날짜간의 차이를 가져올 때 사용하는 함수가 두 가지가 있습니다. 단순히 일 차이를 가져올 때 사용하는 것이 DATEDIFF 함수

extbrain.tistory.com

 

반응형