Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 스프링
- 알고리즘
- 자바
- node.js
- jpa
- Next.js
- 프론트엔드
- 데이터베이스
- java
- 오라클
- JavaScript
- MySQL
- 자바스크립트
- 프런트엔드
- 코드 테스트
- BACK-END
- 스프링부트
- oracle
- web
- 미니정리
- 서버
- 디자인 패턴
- 백엔드
- 프로그래머스
- 코드테스트
- jsp
- spring
- 쿼리
- 정리
- SQL
Archives
- Today
- Total
참치코더의 꿈 메모장
Oracle / 프로그래머스 - 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 본문
728x90

|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
SELECT EXTRACT(MONTH FROM START_DATE) AS MONTH,
CAR_ID,
COUNT(*) AS RECORDS
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE >= DATE '2022-08-01'
AND START_DATE < DATE '2022-11-01'
AND CAR_ID IN (
SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE >= DATE '2022-08-01'
AND START_DATE < DATE '2022-11-01'
GROUP BY CAR_ID
HAVING COUNT(*) >= 5
)
GROUP BY EXTRACT(MONTH FROM START_DATE), CAR_ID
ORDER BY MONTH ASC, CAR_ID DESC;
|
cs |
- CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일을 기준으로 2022년 8월부터
2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서 해당 기간 동안의 월별
자동차 ID 별 총 대여 횟수 리스트를 출력하는 SQL문을 작성하는 문제이다.
이때 결과는 월을 기준으로 오름차순 정렬하고, 월이 같다면 자동차 ID를 기준으로 내림차순
정렬해야한다.
- 일단 구해야 하는 데이터가 있는 테이블을 FORM절에 작성하고, 총 대여 횟수가 5회 이상인
자동차들에 대해서 구하라고 했으므로, WHERE절 조건에 IN 조건을 써서 해당 기간 동안의
총 대여 횟수가 5회 이상인 자동차르 구하였다.
- 다음 GROUP BY를 사용해 각 월별, 자동차 ID 별 그룹으로 묶은다음 SELECT문에 COUNT(*)
집계함수를 사용해 월별 자동차 ID 별 총 대여 횟수 리스트를 출력하였다. 총 COUNT(*)
값에 AS를 사용하여 RECORDS로 대신 나타내어줬고, 마지막으로 각 MONTH 별로 오름차순 정렬
값이 같다면 CAR_ID 값으로 내림차순 정렬해준다면 정답을 얻을 수 있다.
728x90
'Oracle' 카테고리의 다른 글
| Oracle / 프로그래머스 - 카테고리 별 도서 판매량 집계하기 (0) | 2026.02.08 |
|---|---|
| Oracle / 프로그래머스 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2026.02.03 |
| Oracle / 프로그래머스 - 대여 기록이 존재하는 자동차 리스트 구하기 (0) | 2026.02.01 |
| ORACLE / 조건에 맞는 사용자와 총 거래금액 조회하기 - 프로그래머스 (0) | 2026.01.27 |
| Oracle / 프로그래머스 - 조회수가 가장 많은 중고거래 게시판의 첨부 파일 조회하기 (0) | 2026.01.26 |
Comments