자동차 평균 대여 기간 구하기

2024. 12. 29. 23:59·Algorithm/프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/157342

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

문제

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 평균 대여 기간이 7일 이상인 자동차들의 자동차 ID와 평균 대여 기간(컬럼명: AVERAGE_DURATION) 리스트를 출력하는 SQL문을 작성해주세요. 평균 대여 기간은 소수점 두번째 자리에서 반올림하고, 결과는 평균 대여 기간을 기준으로 내림차순 정렬해주시고, 평균 대여 기간이 같으면 자동차 ID를 기준으로 내림차순 정렬해주세요.

 

오답 코드

SELECT 
    car_id, 
    round(sum(timestampdiff(day, start_date, end_date)) / count(*), 1) as AVERAGE_DURATION
from 
    CAR_RENTAL_COMPANY_RENTAL_HISTORY
where 
    timestampdiff(day, start_date, end_date) >= 7
group by 
    car_id 
order by 
    AVERAGE_DURATION desc, car_id desc

 

문제 예제에선, 대여 기간 5일, 30일, 33일에 대한 자동차의 평균을 내서 조회를 했지만, 나의 코드같은 경우에는 대여 기간이 7일이 넘는 것들만 필터링을 했기 때문에 30일, 33일에 대한 평균만 내고 있었다. 

 

정답 코드

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 
    AVG(DATEDIFF(END_DATE, START_DATE) + 1) >= 7
ORDER BY
    AVERAGE_DURATION desc,
    car_id desc

 

DATEDIFF를 사용하여 끝나는 날짜 - 시작날짜 + 1을 해줘서 정확하게 계산해주었다. (기간 차이를 구할때는 DATEDIFF를 써야겠다)

 

'Algorithm > 프로그래머스' 카테고리의 다른 글

[프로그래머스] 지게차와 크레인  (0) 2025.02.25
조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기  (1) 2024.12.30
즐겨찾기가 가장 많은 식당 정보 출력하기  (3) 2024.12.26
SQL  (2) 2024.12.23
[프로그래머스] Lv.3 징검다리 건너기  (1) 2024.09.26
'Algorithm/프로그래머스' 카테고리의 다른 글
  • [프로그래머스] 지게차와 크레인
  • 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
  • 즐겨찾기가 가장 많은 식당 정보 출력하기
  • SQL
미네구스
미네구스
  • 미네구스
    망구스 blog
    미네구스
  • 전체
    오늘
    어제
    • 분류 전체보기 (174)
      • Kotlin (0)
      • 시큐리티 (0)
        • 개발자 유미 (0)
      • 배포 (4)
      • 회고 (0)
      • Algorithm (143)
        • 프로그래머스 코딩테스트 문제풀이전략 (37)
        • 백준 (66)
        • 프로그래머스 (18)
        • Leetcode (22)
        • 코테 팁 (0)
      • 프로젝트 (8)
        • WEPIK (3)
        • PICK-O (5)
      • CS (1)
        • 운영체제 (5)
        • 네트워크 (1)
        • 면접스터디 (2)
      • 면접 (0)
        • 코테후기 (0)
        • 면접후기 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    N과 M
    백트래킹
    `
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
미네구스
자동차 평균 대여 기간 구하기
상단으로

티스토리툴바