๋ฌธ์
๋์ฌ ํ์๊ฐ ๋ง์ ์๋์ฐจ๋ค์ ์๋ณ ๋์ฌ ํ์ ๊ตฌํ๊ธฐ
ํ์ด
SELECT
TO_NUMBER(TO_CHAR(START_DATE, 'MM')) MONTH,
CAR_ID,
COUNT(*) 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, 'YYYYMM') >= '202208' AND TO_CHAR(START_DATE, 'YYYYMM') <= '202210'
GROUP BY CAR_ID
HAVING COUNT(*) >= 5
) AND TO_CHAR(START_DATE, 'YYYYMM') >= '202208' AND TO_CHAR(START_DATE, 'YYYYMM') <= '202210'
GROUP BY
TO_CHAR(START_DATE, 'MM'), CAR_ID
ORDER BY
MONTH, CAR_ID DESC
;
- COUNT(*)์ ํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์์ด๋ 1๋ก ์ถ๋ ฅํ๊ธฐ ๋๋ฌธ์, COUNT(B.DATETIME)์ผ๋ก ์์ฑํ์ต๋๋ค.
- 0๋ถํฐ 23์ ๊ฐ์ง ํ ์ด๋ธ์ ๋ง๋ค์ด์ฃผ๊ธฐ ์ํด CONNECT BY(๊ณ์ธต์ ์ฟผ๋ฆฌ)๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.
์ฐธ๊ณ
- ์ฐ์ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๋์ฌ ์์์ผ์ ๊ธฐ์ค์ผ๋ก ์ด ๋์ฌ ํ์๊ฐ 5ํ ์ด์์ธ CAR_ID๋ฅผ ์ฐพ์ ๋ด๊ณ , ํ์ดํ์์ต๋๋ค.