[프로그래머스] MySQL / 자동차 평균 대여 기간 구하기

2024. 1. 10. 10:41Coding/프로그래머스-SQL

문제 링크

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

 

프로그래머스

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

programmers.co.kr

 

문제

 

코드

-- 코드를 입력하세요
SELECT CAR_ID, ROUND(AVG(DATEDIFF(END_DATE, START_DATE) + 1), 1) AS AVERAGE_DURATION
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
HAVING AVERAGE_DURATION >= 7 
ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC;

1. DATEDIFF() 함수는 날짜 간의 차이 일 수를 구하는 함수이다. 이 날짜의 차이를 구한 후 +1을 해준다. (우리가 날짜를 샐 때는 하루 더해서 새기 때문이다. )

2. 자동차 ID를 기준으로 해야하니까 GROUP BY에 해당 칼럼을 넣어주고, 이에 대한 조건을 HAVING절에 넣어준다.