SQL

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

hminor 2023. 7. 13. 09:48
-- 성공 코드
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 CAR_TYPE
-- 실패 코드
-- 실패를 한 이유는 IN 이 문제가 되는데
-- 나는 OPTIONS 안에 ('통풍시트', '열선시트', '가죽시트')  
-- 하나라도 있으면 되는건줄 알았는데
-- 그게 아니라 해당 값과 동일한게 있는지 찾는것이어서 문제가 되고 
-- 아래 HAVING에 사용한 OPTIONS는 SELECT 절에 없어서 에러가 나기도 한다.
SELECT CAR_TYPE, COUNT(*) AS CARS
    FROM CAR_RENTAL_COMPANY_CAR 
    GROUP BY CAR_TYPE
    HAVING OPTIONS IN ('통풍시트', '열선시트', '가죽시트' )
    ORDER BY CAR_TYPE