본문 바로가기
ProgramSolve/Programmers

[Programmers] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (MySQL)

by SooooooooS 2024. 1. 6.
728x90

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

 

프로그래머스

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

programmers.co.kr


🗒️ ERD


✏️ 제출 정답 코드

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;

📌 SQL문 정리

1.  논리 연산자

Name Description
AND, && 둘다 1 일 경우에만 1
OR, || 둘다 0 일 경우에만 0
NOT, ! 1 이면 0, 0 이면 1
XOR OR의 반대

 

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

→ OPTIONS 문자열 안에 3가지 중 1개라도 포함이 되어 있으면 된다.

OR 을 사용해 조건을 확인한다.

 

[참고] https://dev.mysql.com/doc/refman/8.0/en/logical-operators.html

2. GROUP BY

자동차 종류 별로 몇 대인지 출력

→ 자동차 종류로 그룹화 → COUNT(*) 를 사용하여 그룹별 개수 출력

 

COUNT()와 같이 Aggregate Function은 GROUP BY 절과 주로 쓰인다.

즉, 그룹별 계산을 할 수 있다. (Aggregate Function 정리)

 

[참고] https://dev.mysql.com/doc/refman/8.0/en/group-by-modifiers.html

728x90