๋ฌธ์ ์ค๋ช
๋ค์์ ์ด๋ ์๋์ฐจ ๋์ฌ ํ์ฌ์ ์๋์ฐจ ๋์ฌ ๊ธฐ๋ก ์ ๋ณด๋ฅผ ๋ด์ CAR_RENTAL_COMPANY_RENTAL_HISTORY ํ ์ด๋ธ์ ๋๋ค. CAR_RENTAL_COMPANY_RENTAL_HISTORY ํ ์ด๋ธ์ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋์ด์์ผ๋ฉฐ, HISTORY_ID, CAR_ID, START_DATE, END_DATE ๋ ๊ฐ๊ฐ ์๋์ฐจ ๋์ฌ ๊ธฐ๋ก ID, ์๋์ฐจ ID, ๋์ฌ ์์์ผ, ๋์ฌ ์ข ๋ฃ์ผ์ ๋ํ๋ ๋๋ค.
Column nameTypeNullable
HISTORY_ID | INTEGER | FALSE |
CAR_ID | INTEGER | FALSE |
START_DATE | DATE | FALSE |
END_DATE | DATE | FALSE |
๋ฌธ์
CAR_RENTAL_COMPANY_RENTAL_HISTORY ํ ์ด๋ธ์์ ๋์ฌ ์์์ผ์ ๊ธฐ์ค์ผ๋ก 2022๋ 8์๋ถํฐ 2022๋ 10์๊น์ง ์ด ๋์ฌ ํ์๊ฐ 5ํ ์ด์์ธ ์๋์ฐจ๋ค์ ๋ํด์ ํด๋น ๊ธฐ๊ฐ ๋์์ ์๋ณ ์๋์ฐจ ID ๋ณ ์ด ๋์ฌ ํ์(์ปฌ๋ผ๋ช : RECORDS) ๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ๊ฒฐ๊ณผ๋ ์์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๊ณ , ์์ด ๊ฐ๋ค๋ฉด ์๋์ฐจ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์. ํน์ ์์ ์ด ๋์ฌ ํ์๊ฐ 0์ธ ๊ฒฝ์ฐ์๋ ๊ฒฐ๊ณผ์์ ์ ์ธํด์ฃผ์ธ์.
๋ฌธ์ ํ์ด
SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(*) AS RECORDS FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE BETWEEN '2022-08-01' AND '2022-10-31'
AND CAR_ID IN
(SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE BETWEEN '2022-08-01' AND '2022-10-31'
GROUP BY CAR_ID
HAVING COUNT(*)>=5
)
GROUP BY MONTH, CAR_ID
ORDER BY MONTH, CAR_ID DESC;
"๋์ฌ ์์์ผ์ ๊ธฐ์ค์ผ๋ก 2022๋ 8์๋ถํฐ 2022๋ 10์๊น์ง ์ด ๋์ฌ ํ์๊ฐ 5ํ ์ด์์ธ ์๋์ฐจ๋ค์ ๋ํด์"
์ด ๋ฌธ์ฅ์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ธฐ ์ํ ์๋ธ์ฟผ๋ฆฌ๋ถํฐ ์ดํด๋ณด๋ฉด,
CAR_RENTAL_COMPANY_RENTAL_HISTORY ํ ์ด๋ธ์์ START_DATE๋ฅผ ๊ธฐ์ค์ผ๋ก 2022-08-01๊ณผ 2022-10-31 ์ฌ์ด์ ์๋ ๋ฐ์ดํฐ์ ์ถ์ถํ๊ณ ,
CAR_ID๋ฅผ ๊ธฐ์ค์ผ๋ก GROUP BY๋ฅผ ๊ฑฐ์น ํ์ ๊ทธ๋ฃนํ๋ ๋ฐ์ดํฐ๋ค์ ๊ฐฏ์๊ฐ 5๊ฐ ์ด์์ธ CAR_ID๋ค์ ์ถ์ถํ๋ค.
๊ทธ๋ฆฌ๊ณ , ์์์ ์ค๋ช ํ ์๋ธ์ฟผ๋ฆฌ์์ ์ถ์ถํ CAR_ID๋ฅผ ๋ง์กฑํ๋ฉด์, ๋์ฌ ์์์ผ์๊ฐ 2022๋ 8์~2022๋ 10์์ธ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ค.
์ด ๋ฐ์ดํฐ๋ฅผ ๋์ฌ ์์์ผ์์์ ์ ๋ฐ์ดํฐ๋ง ์ถ์ถํ MONTH ์ปฌ๋ผ๊ณผ CAR_ID ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก GROUP BY ํ๋ค.
์ด๋ ๊ฒ ์ฌ๋ฌ ๊ฐ์ ์ปฌ๋ผ์ ํฉํ๊ณ ๊ทธ ํฉ์ ๊ธฐ์ค์ผ๋ก GROUP BY ํ ์๋ ์๋ค.
์ด ๊ฒฝ์ฐ๋ฅผ ์๋ก ๋ค๋ฉด, MONTH์ CAR_ID๋ฅผ ํฉ์ณ์ ๊ทธ๋ฃนํํ๋ ๊ฒ์ธ๋ฐ, 8์์ CAR_ID๊ฐ 12์ธ ๋ฐ์ดํฐ, 10์์ CAR_ID๊ฐ 8์ธ ๋ฐ์ดํฐ,..
์ด๋ฐ ์์ผ๋ก ๊ทธ๋ฃนํ๋๋ค.
๊ทธ๋ฆฌ๊ณ ORDER BY๋ฅผ ์ด์ฉํด์ ๋ฌธ์ ๊ฐ ์๊ตฌํ๋๋ก ์ ๋ ฌํด์ ์ถ๋ ฅํ๋ค.
์ฌ๊ธฐ์ "YYYY-MM-DD" ํ์์ DATE์์ ๋ ๋ง ์ถ์ถํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ YEAR(DATE), ์๋ง ์ถ์ถํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ MONTH(DATE), ์ผ๋ง ์ถ์ถํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ DAY(DATE)๋ฅผ ์ฌ์ฉํด์ฃผ๋ฉด ๋๋ค๋ ๊ฒ์ ์์๋ค!