프로그래머스/My SQL

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

싱싱한복초이 2024. 11. 7. 20:21

https://school.programmers.co.kr/learn/courses/30/lessons/151137

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

[문제]

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

 

[나의 풀이]

select CAR_TYPE, count(*) CARS
from car_rental_company_car
where find_in_set('통풍시트',options) or find_in_set('열선시트',options) or find_in_set('가죽시트',options)
group by car_type
order by car_type;

 

[다른 풀이]

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