[MySQL/PGS] Lv.1 : μλμ°¨ λμ¬ κΈ°λ‘μμ μ₯κΈ°/λ¨κΈ° λμ¬ κ΅¬λΆνκΈ°
https://school.programmers.co.kr/learn/courses/30/lessons/151138
λ¬Έμ μ€λͺ
λ€μμ μ΄λ μλμ°¨ λμ¬ νμ¬μ μλμ°¨ λμ¬ κΈ°λ‘ μ 보λ₯Ό λ΄μ CAR_RENTAL_COMPANY_RENTAL_HISTORY ν μ΄λΈμ λλ€. CAR_RENTAL_COMPANY_RENTAL_HISTORY ν μ΄λΈμ μλμ κ°μ κ΅¬μ‘°λ‘ λμ΄μμΌλ©°, HISTORY_ID, CAR_ID, START_DATE, END_DATE λ κ°κ° μλμ°¨ λμ¬ κΈ°λ‘ ID, μλμ°¨ ID, λμ¬ μμμΌ, λμ¬ μ’ λ£μΌμ λνλ λλ€.
Column nameTypeNullableHISTORY_ID | INTEGER | FALSE |
CAR_ID | INTEGER | FALSE |
START_DATE | DATE | FALSE |
END_DATE | DATE | FALSE |
λ¬Έμ
CAR_RENTAL_COMPANY_RENTAL_HISTORY ν μ΄λΈμμ λμ¬ μμμΌμ΄ 2022λ 9μμ μνλ λμ¬ κΈ°λ‘μ λν΄μ λμ¬ κΈ°κ°μ΄ 30μΌ μ΄μμ΄λ©΄ 'μ₯κΈ° λμ¬' κ·Έλ μ§ μμΌλ©΄ 'λ¨κΈ° λμ¬' λ‘ νμνλ 컬λΌ(컬λΌλͺ : RENT_TYPE)μ μΆκ°νμ¬ λμ¬κΈ°λ‘μ μΆλ ₯νλ SQLλ¬Έμ μμ±ν΄μ£ΌμΈμ. κ²°κ³Όλ λμ¬ κΈ°λ‘ IDλ₯Ό κΈ°μ€μΌλ‘ λ΄λ¦Όμ°¨μ μ λ ¬ν΄μ£ΌμΈμ.
λ μ§ νμ : date_format(μ»¬λΌ μ΄λ¦, '%Y-%m-%d') as μ μ»¬λΌ μ΄λ¦
λ μ§ μ°¨μ΄ κ΅¬νκΈ° (μΌ μ) : datediff(end_date, start_date)
κΈ°κ° : λ μ§ μ°¨μ΄ + 1 = datediff(end_date, start_date) + 1
λμ νμ΄
select HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, '%Y-%m-%d') as START_DATE,
DATE_FORMAT(END_DATE, '%Y-%m-%d')END_DATE,
if(DATEDIFF(END_DATE, START_DATE) +1 >= 30,"μ₯κΈ° λμ¬","λ¨κΈ° λμ¬") as RENT_TYPE
from CAR_RENTAL_COMPANY_RENTAL_HISTORY
where start_date >= "2022-09-01" and start_date < "2022-10-01"
order by history_id desc;