[프로그래머스 SQL/151137] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기
in Study / Coding Test
☑️ 문제
☑️ 풀이
첫 번째 풀이 (실패)
SELECT CAR_TYPE, COUNT(*) AS 'CARS'
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS IN ('통풍시트', '열선시트', '가죽시트')
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE
- OPTIONS 컬럼은 여러 옵션이 구분된 문자열로 저장되어 있기 때문에
WHERE OPTIONS IN ('통풍시트', '열선시트', '가죽시트')
를 사용할 수 없다.- 옵션으로
‘통풍시트’
만 있거나,‘열선시트’
만 있어야 사용 가능하다.
- 옵션으로
두 번째 풀이 (성공)
SELECT CAR_TYPE, COUNT(*) AS 'CARS'
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%시트%'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE
‘%시트%’
는‘시트’
라는 문자열을 포함하는 모든 값을 찾는 조건이다.- OPTIONS 컬럼에서 시트라는 단어가 포함된 모든 값을 찾을 수 있다.
- 처음에
‘%시트’
로 했는데 실패했다.- 이것도 마찬가지로 OPTIONS는 여러 옵션이 콤마로 구분된 문자열로 저장되어 있기 때문에
‘시트’
가 끝에 위치한 옵션만을 찾는다면 처음이나 중간에 시트가 포함된 옵션은 제외된다.
- 이것도 마찬가지로 OPTIONS는 여러 옵션이 콤마로 구분된 문자열로 저장되어 있기 때문에