본문 바로가기
코딩테스트/프로그래머스

Oracle - 프로그래머스 코딩테스트 [대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기]

by sycareer 2023. 11. 27.

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

정답에 근접한 것 같은데 계속 틀렸다길래 보니

8월~10월의 데이터만 나와야 하는 것이었다... HAVING절 추가해서 정답!

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
SELECT TO_NUMBER(TO_CHAR(START_DATE, 'FMMM')) MONTH, CAR_ID, COUNT(HISTORY_ID) RECORDS
  FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
 WHERE CAR_ID IN (
    SELECT CAR_ID
      FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
     WHERE TO_CHAR(START_DATE, 'YYYY-MM-DD') BETWEEN '2022-08-01' AND '2022-10-31'
     GROUP BY CAR_ID
    HAVING COUNT(HISTORY_ID) >= 5
  )
 GROUP BY TO_NUMBER(TO_CHAR(START_DATE, 'FMMM')), CAR_ID
HAVING TO_NUMBER(TO_CHAR(START_DATE, 'FMMM')) BETWEEN 8 AND 10
 ORDER BY 12 DESC;
cs