Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 데이터분석
- 추천시스템
- Brightics
- 포스코 청년
- Brigthics
- Brightics Studio
- 직원 이직률
- 포스코 아카데미
- 모델링
- Brigthics Studio
- 혼공학습단
- 브라이틱스
- 데이터 분석
- Brigthics를 이용한 분석
- 직원 이직여부
- 노코드AI
- Brightics를 이용한 분석
- 캐글
- 삼성 SDS
- 삼성SDS Brightics
- 삼성 SDS Brigthics
- 혼공머신
- 영상제작기
- 개인 의료비 예측
- 팀 분석
- 삼성SDS Brigthics
- 혼공
- 삼성SDS
- 혼공머신러닝딥러닝
- 브라이틱스 서포터즈
Archives
- Today
- Total
데이터사이언스 기록기📚
[프로그래머스/SQL] Level 4_자동차 대여 기록 별 대여 금액 구하기(STRING, DATE) 본문
Coding Test/프로그래머스(SQL)
[프로그래머스/SQL] Level 4_자동차 대여 기록 별 대여 금액 구하기(STRING, DATE)
syunze 2023. 10. 27. 21:47📌문제 유형
STRING, DATE
📌문제
📌나의 문제풀이
SELECT A.HISTORY_ID,
ROUND(CASE WHEN DATE >= 7 AND DATE < 30 THEN DAILY_FEE * DATE * 0.95
WHEN DATE >= 30 AND DATE < 90 THEN DAILY_FEE * DATE * 0.92
WHEN DATE >= 90 THEN DAILY_FEE * DATE * 0.85
ELSE DAILY_FEE * DATE END, 0) AS FEE
FROM
(SELECT DISTINCT HISTORY_ID, DATEDIFF(END_DATE,START_DATE) + 1 AS DATE, DAILY_FEE
FROM CAR_RENTAL_COMPANY_CAR AS C LEFT JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY AS H ON C.CAR_ID = H.CAR_ID LEFT JOIN CAR_RENTAL_COMPANY_DISCOUNT_PLAN AS P ON C.CAR_TYPE = P.CAR_TYPE
WHERE C.CAR_TYPE = '트럭') AS A
ORDER BY FEE DESC, A.HISTORY_ID DESC
📌다른사람의 문제풀이
SELECT HISTORY_ID, ROUND(SUM(C.DAILY_FEE*(DATEDIFF(END_DATE, START_DATE)+1)*(1-IFNULL(DISCOUNT_RATE, 0)/100)),0) AS FEE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY AS R
LEFT JOIN CAR_RENTAL_COMPANY_CAR AS C ON C.CAR_ID = R.CAR_ID
LEFT JOIN CAR_RENTAL_COMPANY_DISCOUNT_PLAN AS D ON C.CAR_TYPE = D.CAR_TYPE AND
D.DURATION_TYPE=(CASE
WHEN DATEDIFF(R.END_DATE, R.START_DATE)+1 BETWEEN 7 AND 29 THEN "7일 이상"
WHEN DATEDIFF(R.END_DATE, R.START_DATE)+1 BETWEEN 30 AND 89 THEN "30일 이상"
WHEN DATEDIFF(R.END_DATE, R.START_DATE)+1 >= 90 THEN "90일 이상"
ELSE "" END)
WHERE C.CAR_TYPE="트럭"
GROUP BY HISTORY_ID
ORDER BY FEE DESC, R.HISTORY_ID DESC
728x90
'Coding Test > 프로그래머스(SQL)' 카테고리의 다른 글
[프로그래머스/SQL] Level 4_특정 기간동안 대여 가능한 자동차들의 대여비용 구하기(JOIN) (0) | 2023.10.27 |
---|---|
[프로그래머스/SQL] Level 4_저자 별 카테고리 별 매출액 집계하기(GROUP BY) (0) | 2023.10.07 |
[프로그래머스/SQL] Level 4_우유와 요거트가 담긴 장바구니(Summer/Winter Coding (2019)) (0) | 2023.10.07 |
[프로그래머스/SQL] Level 3_대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기(GROUP BY) (0) | 2023.10.06 |
[프로그래머스/SQL] Level 3_조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기(STRING,DATE) (0) | 2023.10.06 |
Comments