프로그래머스 ORACLE 자동차 평균 대여 기간 구하기DB/쿼리 문제풀이2023. 10. 6. 14:00
Table of Contents
정답
SELECT
CAR_ID,
ROUND(AVG(END_DATE - START_DATE + 1),1) AS AVERAGE_DURATION --반올림
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
HAVING AVG(END_DATE - START_DATE +1) >= 7
ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC;
두 날짜 사이의 전체 일수를 계산
- 2022-10-01 - 2022-09-27 = 4로 계산하면, 결과값이 4일이 나옵니다.
- 그러나 현실에서 2022-09-27부터 2022-10-01은 5일간의 기간입니다.
일반적으로 두 날짜 간의 차이를 계산할 때는, 시작 날짜와 종료 날짜를 모두 포함하여 계산하는 것이 정확한 결과를 얻는 방법입니다. 따라서 END_DATE - START_DATE + 1을 사용하여 두 날짜 사이의 전체 일수를 계산합니다. 여기서 +1은 종료 날짜를 포함시키기 위한 것입니다.
즉, 2022-09-27에서 2022-10-01 사이의 차이는 5일이 되어야 하므로, END_DATE - START_DATE + 1은 5를 계산하게 됩니다.
'DB > 쿼리 문제풀이' 카테고리의 다른 글
프로그래머스 ORACLE 최솟값 구하기 (0) | 2023.10.06 |
---|---|
프로그래머스 ORACLE 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2023.10.06 |
프로그래머스 ORACLE 조건에 부합하는 중고거래 상태 조회하기 (0) | 2023.10.06 |
프로그래머스 ORACLE 자동차 대여 기록에서 장기/단기 대여 구분하기 (0) | 2023.10.06 |
프로그래머스 ISNULL ORACLE (0) | 2023.10.06 |