-- 코드를 입력하세요
WITH A AS(
SELECT
HISTORY.CAR_ID,
COUNT(*)
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY HISTORY LEFT JOIN CAR_RENTAL_COMPANY_CAR CAR
ON (HISTORY.CAR_ID = CAR.CAR_ID)
WHERE TO_CHAR(START_DATE, 'MM') = '10' AND CAR_TYPE = '세단'
GROUP BY HISTORY.CAR_ID
ORDER BY HISTORY.CAR_ID DESC
)
SELECT CAR_ID
FROM A
;
<포인트 정리>
1. GROUP BY로 묶었을 때, 각 그룹을 대표하는 하나의 값을 바로 알려주는 건 따로 없는 듯?
저런식으로 GROUP BY를 연산시키는 걸 SELECT로 하고 그 테이블을 다시 다른 쿼리에서 출력하는 형식으로.
-> 있네 DISTINCT
SELECT DISTINCT HISTORY.CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY HISTORY
JOIN CAR_RENTAL_COMPANY_CAR CAR
ON HISTORY.CAR_ID = CAR.CAR_ID
WHERE CAR.CAR_TYPE = '세단'
AND TO_CHAR(HISTORY.START_DATE, 'MM') = '10'
ORDER BY HISTORY.CAR_ID DESC;
'DataEngineering' 카테고리의 다른 글
SQL 복습 (0) | 2024.12.20 |
---|---|
SQL 오답노트 : FROM 에 alias, mod (1) | 2024.12.19 |
SQL 프로그래머스 문제 - 조건에 맞는 사용자 정보 조회하기 (0) | 2024.05.16 |
SQL 프로그래머스 문제 - 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기(중요!) (0) | 2024.05.16 |
SQL 프로그래머스 문제 - 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2024.05.16 |