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

Eunding·2024년 2월 19일
0

SQL 고득점 Kit

목록 보기
28/62

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

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

문제

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

예시

풀이

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. 가죽시트, 열선시트, 통풍시트가 있는 CAR만 COUNT 해서 조회
  2. CAR_TYPE으로 그룹화
  3. CAR_TYPE으로 오름차순 정렬

생각해보니까 더 간단한 풀이가 있었다.

SELECT CAR_TYPE, COUNT(CAR_ID) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%시트%' 
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE;

가죽시트, 열선시트, 통풍시트의 공통점이 시트가 들어가기 때문에 WHERE절에서 3줄을 1줄로 줄였다!

profile
안녕하세요~

0개의 댓글

관련 채용 정보