DataBase/MySQL

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

Dev_en 2023. 2. 18. 22:44

문제 설명

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

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

  • 알고리즘 분류 - GROUP BY
  • 난이도 - Level 2

관련 개념

특정 문자열의 포함 여부 - LIKE(), INSTR()

https://heestory0324.tistory.com/75

 

[MySQL] 특정 문자열 포함 여부, 횟수 찾기 - LIKE(), INSTR()

INSTR() 찾을 문자열이 대상 문자열의 몇 번째 글자에서 등장하는지 반환한다. 존재하지 않으면 0을 반환한다. INSTR(대상 문자열, 찾을 문자열) LIKE() 대상 컬럼에서 '패턴'을 가지는 데이터를 찾아

heestory0324.tistory.com


답안 코드

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