25.5.17TIL

황효정·2025년 5월 17일

데이터 분석

목록 보기
65/88

https://school.programmers.co.kr/learn/courses/30/lessons/157342
위 문제에서 나의 쿼리

-- 코드를 입력하세요
SELECT CAR_ID, ROUND(AVG(DATEDIFF(END_DATE, START_DATE)), 1) AS AVERAGE_DURATION
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
HAVING AVERAGE_DURATION >= 6
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;

밑의 having절에서 6으로 바꿔주는게 아니라 위에서 +1을 해줘야 했음.. 거기서 맞춰주면 헤빙절에서는 그냥 7로 맞춰주면 됨....!!

근데 솔직히 내 쿼리랑 정답쿼리랑 똑같다는 생각이 드는데,, 아무래도 채점을 하는거다보니 문제에서 요구하는 대로 정확하게 써야 할 듯하다..

profile
청지기

0개의 댓글