우당탕탕 개발일지

[SQL] 프로그래머스 GROUP BY : 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기(level 2) 본문

SQL

[SQL] 프로그래머스 GROUP BY : 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기(level 2)

민아당긴아 2024. 2. 11. 11:41

💡문제 링크

 

프로그래머스

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

programmers.co.kr

 

💡SQL 코드 설계

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

1. '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차(WHERE)

2. 자동차 종류 별로 몇 대인지 출력(GROUP BY, COUNT)

3. 자동차 수에 대한 컬럼명은 CARS로 지정(SELECT ~ AS ~)

4. 결과는 자동차 종류를 기준으로 오름차순 정렬(ORDER BY)

💡SQL 코드

-- 코드를 입력하세요
SELECT CAR_TYPE, COUNT(CAR_ID) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE "%통풍시트%" OR OPTIONS LIKE "%열선시트%" OR OPTIONS LIKE "%가죽시트%"
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE

 

💡기억할 내용

1. OPTIONS가 문자열로 되어있으니까 "%가죽시트%"  이런 식으로 양옆에 %를 달아줘야 함

2. 귀찮더라도, "~~ 중 하나 이상의 옵션이다"라고 하면 WHERE에 조건을 OR로 이어붙여줘야 해