happy coding
[programmers] 자동차 평균 대여 기간 구하기 본문
SELECT CAR_ID,
CASE
WHEN ROUND(AVG(DATEDIFF(END_DATE, START_DATE)), 1) >= 7 THEN ROUND(AVG(DATEDIFF(END_DATE, START_DATE)), 1)
ELSE 0
END AS AVERAGE_DURATION
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
HAVING AVERAGE_DURATION != 0
ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC;
이따구로 짰는데 결과는 '틀렸습니다.'였다. 너무 복잡하게 한 것 같아서 다시 코딩
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 해야 하는 점은 왜 매번 까먹는 것인가. 잊지 말자.
'self study > Database' 카테고리의 다른 글
[programmers] 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2023.08.15 |
---|---|
[programmers] 조건에 부합하는 중고거래 상태 조회하기 (0) | 2023.08.15 |
[programmers] 3월에 태어난 여성 회원 목록 출력하기 (0) | 2023.08.14 |
[programmers] 가격대 별 상품 개수 구하기 (0) | 2023.08.14 |
[programmers] 성분으로 구분한 아이스크림 총 주문량 (0) | 2023.08.14 |
Comments