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
- 개발공부
- Til
- Wil
- SQL
- 티스토리챌린지
- JWT
- 코딩테스트
- docker
- 파이썬
- 장고
- git
- 세션(Session)
- nginx
- django
- 아티클 스터디
- flask
- 연습
- github
- ERD
- redis
- 도커
- 자료구조
- NoSQL
- web
- Python
- Doker
- CS
- 쿠키(cookie)
- 오블완
- viewsets
Archives
- Today
- Total
SteadyDrills
코딩 테스트 SQL - 자동차 평균 대여 기간 구하기 본문
240802
https://school.programmers.co.kr/learn/courses/30/lessons/157342
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
● 컬럼 설계
1. CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 CAR_ID와 평균 대여기간을 추출
2. 그중에서 조건문으로 평균 대여기간이 7일 이상인 자동차만 나오게끔 필터링
3. 평균대여기간은 소수점 첫 째 자리까지만 나오게끔 하고, 평균 대여 기간을 기준으로 내림차순 정렬, 평균 대여기간이
같으면 자동차 ID를 기준으로 내림차순 정렬.
SELECT CAR_ID,
ROUND(AVG(DATEDIFF(END_DATE,START_DATE)+1),1) AS AVERAGE_DURATION
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY 1
HAVING AVERAGE_DURATION >= 7
ORDER BY 2 DESC, 1 DESC;
오답노트)
이 문제를 풀면서 배웠던 것은 HAVING은 뒤에 오는 컬럼명이 별칭이어도 쿼리를 이해하고 실행한다는 것이다.
WHERE절과 HAVING절의 차이
WHERE | HAVING | |
적용 대상 | 개별행 | GROUP BY 절로 그룹화된 그룹 |
별칭 사용 가능 | X (별칭이 적용되기 전에 실행) | O( 별칭이 적용된 후에 실행 ) |
'SQL' 카테고리의 다른 글
[TIL] SQL의 서브 쿼리(Subquery) (0) | 2024.08.06 |
---|---|
[TIL] SQL 연습문제 풀이: 조건에 맞는 사용자와 총 거래금액 조회하기,가격대 별 상품 개수 구하기 (0) | 2024.06.20 |
[TIL] SQL 연습문제6 & SQL 코딩테스트 연습 문제 (1) | 2024.06.14 |
[TIL] SQL 코딩 테스트 연습 문제 (2) | 2024.06.13 |
[TIL]SQL 과제 Lv3. 이용자의 포인트 조회하기 (0) | 2024.06.12 |