글
프로그래머스 레벨2 자동차 평균 대여 기간 구하기
SQL프로그래밍
2025. 5. 25. 00:10
728x90
SELECT car_id
, TO_CHAR(ROUND(AVG(end_date - start_date + 1), 1), 'FM9999.0') AS average_duration
-- 소수점 이하 1자리값이 없다면 0으로 고정
FROM car_rental_company_rental_history
GROUP BY car_id
HAVING AVG(end_date - start_date + 1) >= 7
-- 대여 시작일부터 1일이기에 '+1'을 해야 해
ORDER BY TO_NUMBER(average_duration) DESC
-- 평균 대여 기간에 TO_CHAR를 사용했더니 문자열로 바껴서 정렬에 문제가 생겨서 숫자형식으로 다시 바꿈
, car_id DESC;
SELECT CAR_ID, ROUND(AVG(END_DATE - START_DATE),1) AS AVERAGE_DURATION
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
HAVING ROUND(AVG(END_DATE - START_DATE+1),1) >=7
ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC
728x90
'SQL프로그래밍' 카테고리의 다른 글
my sql 프로그래머스 레벨1 잔챙이 잡은 수 구하기 (0) | 2025.06.04 |
---|---|
프로그래머스 레벨3 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2025.05.25 |
프로그래머스 레벨3 대여 기록이 존재하는 자동차 리스트 구하기 (0) | 2025.05.24 |
프로그래머스 레벨4 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2025.05.24 |
프로그래머스 레벨3 자동차 대여 기록 별 대여 금액 구하기 (0) | 2025.05.24 |