단의 개발 블로그

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

Algorithm/SQL

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

danso 2024. 8. 5. 15:58

💡 문제설명

다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS  각각 자동차 ID, 자동차 종류, 일일 대여 요금(), 자동차 옵션 리스트를 나타냅니다.

자동차 종류는 '세단', 'SUV', '승합차', '트럭', '리무진' 있습니다. 자동차 옵션 리스트는 콤마(',') 구분된 키워드 리스트(옵션 리스트 예시: '열선시트', '스마트키', '주차감지센서') 되어있으며, 키워드 종류는 '주차감지센서', '스마트키', '네비게이션', '통풍시트', '열선시트', '후방카메라', '가죽시트' 있습니다.

💡 문제

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

 

예시

예를 들어 CAR_RENTAL_COMPANY_CAR 테이블이 다음과 같다면

'통풍시트', '열선시트', '가죽시트' 하나 이상의 옵션이 포함된 자동차는 자동차 ID 1, 2, 4, 5 자동차이고, 자동차 종류 별로 대인지 구하고 자동차 종류를 기준으로 오름차순 정렬하면 다음과 같은 결과가 나와야 합니다.

 풀이

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

 

출처

https://school.programmers.co.kr/learn/challenges?tab=sql_practice_kit