hgk0404
hgk0404.tistory
hgk0404

공지사항

전체 방문자
오늘
어제
  • 전체 카테고리 N
    • [컴퓨터비전] N
    • [Computer Science]
      • [컴퓨터네트워크]
      • [알고리즘]
      • [자료구조 in C]
      • [C & C++]
      • [이산수학]
      • [Math]
    • [머신러닝]
      • [Numpy, Pandas]
    • [Cloud]
      • [AWS]
      • [NCP]
      • [Kubernetes]
      • [Terraform]
    • [Dev]
      • [가상환경]
      • [Linux]
      • [Docker]
    • [Python]
    • [Coding Test]
      • [백준]
      • [프로그래머스]
      • [SQL]
    • [WEB]
    • [자격증, 일상]
    • [엑셀]
    • [금융]

인기 글

최근 글

최근 댓글

250x250
hELLO · Designed By 정상우.
hgk0404

hgk0404.tistory

[SQL] 프로그래머스/SQL lv1 자동차 대여 기록에서 장기/단기 대여 구분하기
[Coding Test]/[SQL]

[SQL] 프로그래머스/SQL lv1 자동차 대여 기록에서 장기/단기 대여 구분하기

2024. 3. 12. 01:24
728x90

 

 

자동차 대여 기록에서 장기/단기 대여 구분하기

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, '%Y-%m-%d') AS START_DATE,
DATE_FORMAT(END_DATE, '%Y-%m-%d') AS END_DATE,
CASE
    WHEN DATEDIFF(END_DATE, START_DATE) + 1 >= 30 THEN '장기 대여'
    ELSE '단기 대여'
END AS RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE LIKE "2022-09-%"
ORDER BY HISTORY_ID DESC;

 

# 22년 9월 부터 대여한 차량들을 대상으로 조사하는 것이니까 와일드카드를 넣어서 WHERE START_DATE LIKE "2022-09-%"

 

# 문제설명의 맨 아래 START_DATE와 END_DATE의 데이터 포맷은 예시와 일치해야 한다 했으니 DATE_FORMAT() 함수를 사용해서 "%Y-%m-%d"로 변환해준다(연월일시분초 -> 연월일)

 

# 시작일 기준 30일이 넘으면 "장기 대여" 그렇지 않으면 "단기 대여"로 구분하라 했으니 DATEDIFF함수를 이용해 마지막날과 시작날의 차이를 이용해 구한다. 

 

여기서 횟수 세는 방법이 나오는데 +1을 해주어야 한다

 

예시를 들어 설명하면 1~10번의 등번호를 가진 선수들이 있는데 이 선수들의 수는 10명이다 하지만 단순 계산으로 마지막 번호에서 처음 번호를 빼면 10 - 1 = 9명이 되어버린다.

 

1~10번의 등번호를 가진 선수들이면 당연하게 10명인데 계산하면 1명이 사라지게 된다 그래서 마지막에 +1을 해주어야 제대로된 숫자 세기가 된다.

 

예를 들어 52번 부터 34번까지의 등번호를 가진 선수들의 숫자는 52 - 34 + 1 = 19명이 된다!

 

 

728x90
저작자표시 동일조건

'[Coding Test] > [SQL]' 카테고리의 다른 글

[SQL] 프로그래머스/SQL lv1 조건에 맞는 도서 리스트 출력하기  (0) 2024.03.12
[SQL] 프로그래머스/SQL lv1 평균 일일 대여 요금 구하기  (0) 2024.03.12
[SQL] SQL의 if문 CASE문에 대하여  (1) 2024.03.12
[SQL] 프로그래머스/SQL lv1 특정 옵션이 포함된 자동차 리스트 구하기  (0) 2024.03.11
[SQL] 프로그래머스/SQL lv1 조건에 부합하는 중고거래 댓글 조회하기  (0) 2024.03.09
'[Coding Test]/[SQL]' 카테고리의 다른 글
  • [SQL] 프로그래머스/SQL lv1 조건에 맞는 도서 리스트 출력하기
  • [SQL] 프로그래머스/SQL lv1 평균 일일 대여 요금 구하기
  • [SQL] SQL의 if문 CASE문에 대하여
  • [SQL] 프로그래머스/SQL lv1 특정 옵션이 포함된 자동차 리스트 구하기
hgk0404
hgk0404
공부기록

티스토리툴바