서브쿼리 및 GROUP BY, HAVING 이용하기
=> 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 대여횟수가 5회 이상인 자동차
ㄴ 해당 기간 동안 월별 자동차 ID별 총 대여횟수
ㄴ MONTH 오름차순, CAR_ID 내림차순
ㄴ 1. 2022년 8월부터 10월까지 대여횟수가 5회 이상인 자동차들을 먼저 뽑는다.
ㄴ 2. 이 자동차들에 포함되고, 조건기간 내의 데이터들을 다시 group 하여 결과값을 뽑아낸다.
https://school.programmers.co.kr/learn/courses/30/lessons/151139
SELECT MONTH(START_DATE) MONTH,
CAR_ID,
COUNT(CAR_ID) RECORDS
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE CAR_ID IN (
SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE YEAR(START_DATE) = 2022 AND MONTH(START_DATE) BETWEEN 8 AND 10
GROUP BY CAR_ID
HAVING COUNT(*) >= 5
) AND YEAR(START_DATE) = 2022 AND MONTH(START_DATE) BETWEEN 8 AND 10
GROUP BY MONTH(START_DATE), CAR_ID
ORDER BY MONTH, CAR_ID DESC;
'코딩테스트 > programming_SQL' 카테고리의 다른 글
[SQL] 식품분류별 가장 비싼 식품의 정보 조회하기_131116 (0) | 2023.11.17 |
---|---|
[SQL] 보호소에서 중성화한 동물_59045 (1) | 2023.11.17 |
[SQL] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기_164671 (0) | 2023.10.31 |
[SQL] 프로그래머스_헤비 유저가 소유한 장소_77487 (0) | 2023.10.29 |
[SQL] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기_157340 (0) | 2023.10.29 |