■ 사용 문법
GROUP BY
■ 사용 방법
1. start_date가 2016-10-16보다 작거나 같고(AND) end_date이 2016-10-16보다 같거나 큰 것을 필터링 해준다.
2. CAR_ID로 GROUP BY 한다.
3. 위 쿼리를 서브쿼리로 하여 SELECT 문에 넣어준다. 이 때 CASE 문을 사용하여 위 쿼리에 해당하는 것들은 '대여중' 그 이외의 것들은 '대여 가능'으로 하여 AVAILABLITY 칼럼을 만든다.
4. CAR_ID로 GROUP BY 한다.
■ 코드
-- 코드를 입력하세요
SELECT CAR_ID,
( CASE
WHEN CAR_ID IN (SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE <= DATE("2022-10-16") AND END_DATE >= DATE("2022-10-16")
GROUP BY CAR_ID
ORDER BY CAR_ID) THEN "대여중"
else "대여 가능"
END) AS AVAILABLITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC
728x90
'개발 > SQL' 카테고리의 다른 글
프로그래머스SQL_고양이와 개는 몇 마리 있을까 (0) | 2024.06.04 |
---|---|
프로그래머스SQL_진료과별 총 예약 횟수 출력하기 (0) | 2024.05.17 |
프로그래머스SQL_카테고리 별 도서 판매량 집계하기 (0) | 2024.05.13 |
프로그래머스SQL_즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2024.05.10 |
프로그래머스SQL_대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2024.05.09 |