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

hysss·2023년 2월 19일
0

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

문제 분석

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

코드

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

문제 풀이

다른 것보다 "'통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차" 라는 조건을 처리하는 것에서 고민이 됐다.

이렇게 Pattern maching으로 처리할 수도 있고, REGEXP()라는 함수로 정규식을 이용해서 처리하는 방법도 있는 듯 하다.

WHERE OPTIONS REGEXP ('통풍시트|열선시트|가죽시트')
profile
매일 매일 규칙적으로

0개의 댓글