SQL/GROUP BY

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

이런개발 2025. 3. 17. 17:02

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

문제 풀이

  1. LIKE 키워드와 OR을 사용해서 옵션에 "통풍시트", "열선시트", "가죽시트"가 포함된 행을 필터링한다.
  2. 자동차 종류별로 그룹핑한다.
  3. 자동차 종류와 COUNT 키워드로 종류별 행의 개수를 조회한다.
  4. 자동차 종류를 기준으로 오름차순 정렬한다.
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 
    1

 

또는 REGEXP 키워드로 표현식을 적용할 수 있다.

SELECT 
    CAR_TYPE, 
    COUNT(*) AS CARS
FROM 
    CAR_RENTAL_COMPANY_CAR
WHERE
    OPTIONS REGEXP "통풍시트|열선시트|가죽시트"             
GROUP BY 
    CAR_TYPE
ORDER BY 
    1