728x90
난이도 : Lv. 2
풀이일 : 2410093
https://school.programmers.co.kr/learn/courses/30/lessons/157342
문제
풀이
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 해준다.
- 대여 기간의 평균을 구해 소수점 첫째 자리까지 반올림한다.
- 자동차 ID로 그룹화한다
- 평균 대여 기간이 7일 이상인 것들을 골라낸다.
- 평균 대여 기간 내림차순, 동일 대여 기간에 대해서는 자동차 ID로 내림차순 정렬한다.
'알고리즘 > Lv. 2' 카테고리의 다른 글
프로그래머스 1844 게임 맵 최단거리 자바 풀이 (1) | 2024.10.17 |
---|---|
프로그래머스 42586 기능개발 자바 풀이 (0) | 2024.10.16 |
프로그래머스 131536 재구매가 일어난 상품과 회원리스트 구하기 SQL 풀이 (0) | 2024.10.07 |
프로그래머스 284527 조건에 맞는 사원 정보 조회하기 SQL 풀이 (1) | 2024.10.02 |
프로그래머스 298518 특정 물고기를 잡은 총 수 구하기 SQL 풀이 (0) | 2024.10.01 |