코딩 테스트/SQL

자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

susinlee 2024. 12. 11. 09:12

[문제]
CAR_RENTAL_COMPANY_CAR 테이블에서 '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차가 자동차 종류 별로 몇 대인지 출력하는 SQL문을 작성해주세요. 이때 자동차 수에 대한 컬럼명은 CARS로 지정하고, 결과는 자동차 종류를 기준으로 오름차순 정렬해주세요.


[단계별 풀이]
1. OPTIONS에 통풍시트가 있거나 열선시트, 가죽시트가 있는 행만 필터링 (REGEXP 활용)

2. 자동차 종류별로 GROUP BY

3. CAR_ID를 COUNT 한 후 컬럼명을 CARS로 지정

4. CAR_TYPE으로 오름차순 정렬


[정답]

SELECT CAR_TYPE,
       COUNT(CAR_ID) AS CARS
FROM CAR_RENTAL_COMPANY_CAR 
WHERE OPTIONS REGEXP '열선시트|가죽시트|통풍시트'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE