-
프로그래머스 - 자동차 평균 대여 기간 구하기SQL 문제 2024. 1. 5. 15:55
자동차 평균 대여 기간 구하기
CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 평균 대여 기간이 7일 이상인 자동차들의 자동차 ID와 평균 대여 기간(컬럼명: AVERAGE_DURATION) 리스트를 출력하는 SQL문을 작성해주세요. 평균 대여 기간은 소수점 두번째 자리에서 반올림하고, 결과는 평균 대여 기간을 기준으로 내림차순 정렬해주시고, 평균 대여 기간이 같으면 자동차 ID를 기준으로 내림차순 정렬해주세요.-- 코드를 입력하세요 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 + 1) >= 7 ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC
쿼리 진행 순서
- FROM절에서 CAR_RENTAL_COMPANY_RANTAL_HISTORY를 선택
- CAR_ID별로 출력을 해야하므로 GROUP BY CAR_ID
- 그룹화 된 CAR_ID에 대하여 평균 대여 기간이 7일 이상이므로 HAVING절에 조건 서술
- END_DATE = START_DATE인 경우에도 대여 기간이 1이므로 AVERAGE_DURATION+1을 해준다.
- SELECT절에서 CAR_ID, AVERAGE_DURATION을 조회
같은 날에 빌려도 대여 기간이 1일이다. https://school.programmers.co.kr/learn/courses/30/lessons/157342
'SQL 문제' 카테고리의 다른 글
프로그래머스 - 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) 2024.01.08 프로그래머스 - 우유와 요거트가 담긴 장바구니 (1) 2024.01.05 프로그래머스 - 헤비 유저가 소유한 장소 (0) 2024.01.05 프로그래머스 - 서울에 위치한 식당 목록 출력하기 (1) 2024.01.05 프로그래머스 - 년, 월, 성별 별 상품 구매 회원 수 구하기 (1) 2024.01.05