inblog logo
|
parangdajavous
    Coding Test_MySQL

    [Coding Test_MySQL] 5. 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

    김미숙's avatar
    김미숙
    Mar 06, 2025
    [Coding Test_MySQL] 5. 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기
    Contents
    문제 설명문제 풀이

    문제 설명

    다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS 는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다.
    Column name
    Type
    Nullable
    CAR_ID
    INTEGER
    FALSE
    CAR_TYPE
    VARCHAR(255)
    FALSE
    DAILY_FEE
    INTEGER
    FALSE
    OPTIONS
    VARCHAR(255)
    FALSE
    자동차 종류는 '세단', 'SUV', '승합차', '트럭', '리무진' 이 있습니다. 자동차 옵션 리스트는 콤마(',')로 구분된 키워드 리스트(옵션 리스트 값 예시: '열선시트', '스마트키', '주차감지센서')로 되어있으며, 키워드 종류는 '주차감지센서', '스마트키', '네비게이션', '통풍시트', '열선시트', '후방카메라', '가죽시트' 가 있습니다.

    문제

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

    예시

    예를 들어 CAR_RENTAL_COMPANY_CAR 테이블이 다음과 같다면
    CAR_ID
    CAR_TYPE
    DAILY_FEE
    OPTIONS
    1
    세단
    16000
    가죽시트,열선시트,후방카메라
    2
    SUV
    14000
    스마트키,네비게이션,열선시트
    3
    SUV
    22000
    주차감지센서,후방카메라
    4
    트럭
    35000
    주차감지센서,네비게이션,열선시트
    5
    SUV
    16000
    가죽시트,네비게이션,열선시트,후방카메라,주차감지센서
    '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차는 자동차 ID가 1, 2, 4, 5인 자동차이고, 자동차 종류 별로 몇 대인지 구하고 자동차 종류를 기준으로 오름차순 정렬하면 다음과 같은 결과가 나와야 합니다.
    CAR_TYPE
    CARS
    SUV
    2
    세단
    1
    트럭
    1

    문제 풀이

    테이블 확인

    SELECT * from CAR_RENTAL_COMPANY_CAR;
    car_id
    car_type
    daily_fee
    options
    1
    트럭
    102000
    주차감지센서,열선시트
    2
    SUV
    148000
    주차감지센서,후방카메라
    3
    세단
    55000
    스마트키,통풍시트,가죽시트
    4
    SUV
    150000
    주차감지센서,스마트키,열선시트,후방카메라,가죽시트
    5
    SUV
    127000
    주차감지센서,스마트키
    6
    트럭
    133000
    주차감지센서,스마트키
    7
    승합차
    150000
    스마트키,통풍시트,열선시트,후방카메라
    8
    트럭
    107000
    주차감지센서,통풍시트,열선시트
    9
    SUV
    84000
    주차감지센서,스마트키
    10
    세단
    162000
    주차감지센서,스마트키,후방카메라
    11
    승합차
    122000
    열선시트,후방카메라
    12
    트럭
    142000
    후방카메라
    13
    승합차
    144000
    네비게이션
    14
    SUV
    77000
    주차감지센서,스마트키,열선시트,후방카메라
    15
    승합차
    114000
    주차감지센서,통풍시트,후방카메라
    16
    세단
    168000
    주차감지센서,열선시트,후방카메라
    17
    SUV
    107000
    스마트키,후방카메라
    18
    SUV
    22000
    주차감지센서,스마트키,열선시트,후방카메라
    19
    SUV
    79000
    주차감지센서,스마트키,열선시트,후방카메라
    20
    트럭
    168000
    주차감지센서,통풍시트
    21
    리무진
    250000
    주차감지센서,스마트키,통풍시트,후방카메라
    22
    세단
    186000
    주차감지센서,스마트키,통풍시트
    23
    세단
    50000
    스마트키,네비게이션,열선시트
    24
    세단
    184000
    주차감지센서,스마트키,열선시트,후방카메라
    25
    세단
    115000
    주차감지센서,열선시트
    26
    SUV
    126000
    주차감지센서,통풍시트
    27
    SUV
    23000
    주차감지센서,스마트키,통풍시트
    28
    리무진
    298000
    주차감지센서,스마트키,네비게이션,열선시트,후방카메라,가죽시트
    29
    SUV
    88000
    주차감지센서,후방카메라
    30
    트럭
    140000
    주차감지센서,스마트키

    car_type, options 컬럼 출력

    select car_type, options from CAR_RENTAL_COMPANY_CAR;
    car_type
    options
    트럭
    주차감지센서,열선시트
    SUV
    주차감지센서,후방카메라
    세단
    스마트키,통풍시트,가죽시트
    SUV
    주차감지센서,스마트키,열선시트,후방카메라,가죽시트
    SUV
    주차감지센서,스마트키
    트럭
    주차감지센서,스마트키
    승합차
    스마트키,통풍시트,열선시트,후방카메라
    트럭
    주차감지센서,통풍시트,열선시트
    SUV
    주차감지센서,스마트키
    세단
    주차감지센서,스마트키,후방카메라
    승합차
    열선시트,후방카메라
    트럭
    후방카메라
    승합차
    네비게이션
    SUV
    주차감지센서,스마트키,열선시트,후방카메라
    승합차
    주차감지센서,통풍시트,후방카메라
    세단
    주차감지센서,열선시트,후방카메라
    SUV
    스마트키,후방카메라
    SUV
    주차감지센서,스마트키,열선시트,후방카메라
    SUV
    주차감지센서,스마트키,열선시트,후방카메라
    트럭
    주차감지센서,통풍시트
    리무진
    주차감지센서,스마트키,통풍시트,후방카메라
    세단
    주차감지센서,스마트키,통풍시트
    세단
    스마트키,네비게이션,열선시트
    세단
    주차감지센서,스마트키,열선시트,후방카메라
    세단
    주차감지센서,열선시트
    SUV
    주차감지센서,통풍시트
    SUV
    주차감지센서,스마트키,통풍시트
    리무진
    주차감지센서,스마트키,네비게이션,열선시트,후방카메라,가죽시트
    SUV
    주차감지센서,후방카메라
    트럭
    주차감지센서,스마트키

    '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차들 확인

    select car_type, options from car_rental_company_car where options like '%가죽시트%' or options like '%통풍시트%' or options like '%열선시트%';
    car_type
    options
    트럭
    주차감지센서,열선시트
    세단
    스마트키,통풍시트,가죽시트
    SUV
    주차감지센서,스마트키,열선시트,후방카메라,가죽시트
    승합차
    스마트키,통풍시트,열선시트,후방카메라
    트럭
    주차감지센서,통풍시트,열선시트
    승합차
    열선시트,후방카메라
    SUV
    주차감지센서,스마트키,열선시트,후방카메라
    승합차
    주차감지센서,통풍시트,후방카메라
    세단
    주차감지센서,열선시트,후방카메라
    SUV
    주차감지센서,스마트키,열선시트,후방카메라
    SUV
    주차감지센서,스마트키,열선시트,후방카메라
    트럭
    주차감지센서,통풍시트
    리무진
    주차감지센서,스마트키,통풍시트,후방카메라
    세단
    주차감지센서,스마트키,통풍시트
    세단
    스마트키,네비게이션,열선시트
    세단
    주차감지센서,스마트키,열선시트,후방카메라
    세단
    주차감지센서,열선시트
    SUV
    주차감지센서,통풍시트
    SUV
    주차감지센서,스마트키,통풍시트
    리무진
    주차감지센서,스마트키,네비게이션,열선시트,후방카메라,가죽시트

    cay_type 끼리 그룹화

    select car_type, options from car_rental_company_car where options like '%가죽시트%' or options like '%통풍시트%' or options like '%열선시트%' group by car_type;
    car_type
    options
    트럭
    주차감지센서,열선시트
    세단
    스마트키,통풍시트,가죽시트
    SUV
    주차감지센서,스마트키,열선시트,후방카메라,가죽시트
    승합차
    스마트키,통풍시트,열선시트,후방카메라
    리무진
    주차감지센서,스마트키,통풍시트,후방카메라

    자동차 종류를 기준으로 정렬

    select car_type, options from car_rental_company_car where options like '%가죽시트%' or options like '%통풍시트%' or options like '%열선시트%' group by car_type order by car_type;
    car_type
    options
    SUV
    주차감지센서,스마트키,열선시트,후방카메라,가죽시트
    리무진
    주차감지센서,스마트키,통풍시트,후방카메라
    세단
    스마트키,통풍시트,가죽시트
    승합차
    스마트키,통풍시트,열선시트,후방카메라
    트럭
    주차감지센서,열선시트

    '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차의 갯수 확인

    select car_type, count(*) cars from car_rental_company_car where options like '%가죽시트%' or options like '%통풍시트%' or options like '%열선시트%' group by car_type order by car_type;
    car_type
    cars
    SUV
    6
    리무진
    2
    세단
    6
    승합차
    3
    트럭
    3
     
    Share article
    Contents
    문제 설명문제 풀이

    parangdajavous

    RSS·Powered by Inblog