WITH A AS(
SELECT CAR_ID, ROUND(AVG(END_DATE - START_DATE + 1), 1) AS AVERAGE_DURATION
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID)
SELECT *
FROM A
WHERE AVERAGE_DURATION >= 7
ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC
;
<포인트 정리>
1. 다중행 연산 사용할 때는 GROUP BY 거의 사용한다고 생각하면 된다.
2. 사용한 날짜 같은 개념을 계산할 때는 +1 꼭 해주기
'DataEngineering' 카테고리의 다른 글
SQL 프로그래머스 문제 - 루시와 엘라 찾기 (0) | 2024.05.14 |
---|---|
SQL 프로그래머스 문제 - 카테고리 별 상품 개수 구하기 (0) | 2024.05.14 |
SQL 프로그래머스 문제 - 조건에 부합하는 중고거래 상태 조회하기 (0) | 2024.05.14 |
SQL 프로그래머스 문제 - 중복 제거하기 (0) | 2024.05.14 |
SQL 프로그래머스 문제 - 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2024.05.14 |