코딩공부

[프로그래머스] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 - MySQL

geraedo 2025. 1. 7. 23:09

문제

https://school.programmers.co.kr/learn/courses/30/lessons/151139

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬럼명: RECORDS) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 월을 기준으로 오름차순 정렬하고, 월이 같다면 자동차 ID를 기준으로 내림차순 정렬해주세요. 특정 월의 총 대여 횟수가 0인 경우에는 결과에서 제외해주세요.

 

 

풀이

1. 오류

결과로만 봤을 때는 잘 나온 것처럼 보였는데, 테스트에서 실패했다.

2. 수정

- DATE 기간은 더 명시하고

- DATA_FORMAT(START_DATE, '%c') 를 변수명으로 사용하며

- 월 별 car_id의 데이터가 없으면 출력하지 않도록 조건을 더 달아 주었다. 

 

 

날짜형식

https://bramhyun.tistory.com/28

 

[MYSQL] DATE_FORMAT 함수 - 날짜 포맷/ 형식 지정하기

DATE_FORMAT 함수 SQL을 작성하다 보면, 시간과 날짜에 관련된 COLUMN들을 활용하는 경우가 종종 있습니다. 이번 글에서는 DATETIME 에 관련된 포맷과 DATE_FORMAT 함수에 관련하여 정리 해 보겠습니다. 이

bramhyun.tistory.com

숫자기준정렬

 

SELECT * FROM 테이블명 ORDER BY 컬럼명*1;

 

위와 같이 '*' 은 그 테이블의 있는 모든 정보를 뜻한다.

그리고 'ORDER BY 컬럼명*1' 의 뜻은, 그 컬럼명에 있는 데이터가 숫자라면 숫자 순서대로 정렬을 의미

https://m.blog.naver.com/PostView.nhn?blogId=altmshfkgudtjr&logNo=221463227578&proxyReferer=https:%2F%2Fwww.google.com%2F

 

MySQL 숫자기준 정렬 오류 해결법

이제 DB를 이용한 개발자들은 다들 한번씩은 이런 오류를 마주치게 될 것이다. 바로 내가 [1, 2, 3, 10, ...

blog.naver.com