[mysql/oracle] 자동차 평균 대여 기간 구하기
2023. 2. 9. 22:28ㆍProgrammers/SQL
문제
정답
mysql
1
2
3
4
5
|
SELECT car_id
,round(avg(datediff(end_date,start_date)+1),1) average_duration from CAR_RENTAL_COMPANY_RENTAL_HISTORY
group by car_id
having avg(datediff(end_date, start_date)+1) >= 7
order by average_duration desc
,car_id desc |
cs |
mysql에서는 날짜의 차이를 구해주는 datediff()를 이용하면 된다.
datediff(끝날짜, 시작날짜)
빌린 당일에 반납하면 1일로 쳐야하므로 대여일수, 이용일수 등을 구할 때는 +1을 절대 잊으면 안 된다.
oracle
1
2
3
4
5
|
SELECT car_id
,round(avg(end_date - start_date+1),1) 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 |
cs |
oracle에서는 datediff처럼 날짜의 차이를 구해주는 함수가 없으므로 그냥 빼준다.
'Programmers > SQL' 카테고리의 다른 글
[mysql/oracle] 상품 별 오프라인 매출 구하기 (0) | 2023.05.18 |
---|---|
[mysql/oracle] 특정 옵션이 포함된 자동차 리스트 구하기 (0) | 2023.02.09 |
[mysql/oracle] 3월에 태어난 여성 회원 목록 출력하기 (0) | 2023.02.03 |
[mysql/oracle] 입양 시각 구하기(1) (0) | 2023.02.03 |
[mysql/oracle] 진료과별 총 예약 횟수 출력하기 (0) | 2023.02.03 |