💌문제
https://school.programmers.co.kr/learn/courses/30/lessons/151139
💌SQL
SELECT MONTH(START_DATE) MONTH,CAR_ID,COUNT(*) RECORDS
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE>='2022-08-01' and START_DATE<'2022-11-01' and
CAR_ID in
(SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE>='2022-08-01' and START_DATE<'2022-11-01'
GROUP BY CAR_ID
HAVING COUNT(CAR_ID)>=5)
GROUP BY CAR_ID,MONTH(START_DATE)
ORDER BY MONTH,CAR_ID DESC
WHERE 절 안의 서브쿼리를 사용해서 기간 내에 자동차 총 대여횟수가 5이상인 CAR_ID만을 고를 수 있도록 했다.
그리고 바깥에서 같은 조건으로 기간을 설정하고, GROUP BY를 이용해서 CAR_ID별, 월별로 카테고리화한다.
그 후 SELECT절에서 전체 레코드의 횟수를 고르면 된다.
'SQL' 카테고리의 다른 글
[프로그래머스/MySQL] 그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2023.02.19 |
---|---|
[프로그래머스/MySQL] 저자 별 카테고리 별 매출액 집계하기 Level 4 (0) | 2023.02.16 |
댓글