코딩테스트

프로그래머스 - 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기

오쟝 2023. 12. 20. 21:51

 

자동차 종류를 기준으로 그룹별로 묶어야겠죠? GROUP BY를 사용해봅시다!

 

먼저! CAR_TYPE과 CAR_TYPE별 차의 개수를 구하기 위한 컬림 CARS를 가져올겁니다!

SELECT CAR_TYPE, COUNT(CAR_TYPE) AS 'CARS'
FROM CAR_RENTAL_COMPANY_CAR

 

그리고! 통풍시트, 열선시트, 가죽시트 셋 중 하나라도 포함하고 있는 경우를 찾아야합니다! 이때 CONTAINS를 사용해도 되지만 여러개의 조건이 달려있기 때문에 저는 REGEXP를 사용해 볼 것 입니다~!

 

WHERE OPTIONS REGEXP('통풍시트|열선시트|가죽시트')

 

이렇게 하게 되면 OPTIONS에서 통풍시트, 열선시트, 가죽시트 중 하나라도 포함하는 경우를 찾아줍니다.

( )에는 여러가지 정규식을 적어줄 수 있는데 ^는 시작하는 경우, $는 끝나는 경우, [ ]는 그 사이 모든 값을 의미합니다!

 

마지막으로! 차 종류별로 묶어야하기 때문에 GROUP BY를 사용해봅시다!

GROUP BY CAR_TYPE
ORDER BY CAR_TYPE

 

최종 코드는~~

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

 

정답~~

그럼 20000~~~ (*^-^*)