문제
https://school.programmers.co.kr/learn/courses/30/lessons/151137
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
접근 방법
1. COUNT(*)로 각 그룹에 속한 행의 개수를 세어 'CARS'에 각 그룹의 자동차 수를 계산한다.
2. OPTIONS 칼럼에서 '시트'가 포함된 행을 필터링 하기 위해 LIKE '%시트%'를 사용한다.
→ '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차를 찾을 수 있다.
3. CAR_TYPE으로 종류별로 묶고, CAR_TYPE을 기준으로 오름차순 정렬한다.
# MYSQL
#SOL
SELECT CAR_TYPE, COUNT(*) AS CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%시트%'
GROUP BY CAR_TYPE
ORDER BY CAR_TYPE ASC
※ 참고
LIKE 연산자
문자열의 패턴을 검색하기 위해 사용한다
▷ 핵심
% : 모든 문자
_ : 한 글자
▶ 사용
- %라면%의 경우에는 앞뒤로 무슨 글자가 오던지 '라면'이라는 문자가 있는 row를 전부 출력한다
- %라면 의 경우 '라면'으로 끝나는 문자가 있는 row를 전부 출력한다
- 라면% 의 경우 '라면'으로 시작하는 문자가 있는 row를 전부 출력한다
- _라면% 의 경우 한 글자 이후 '라면'으로 끝나는 문자가 있는 row를 전부 출력한다 ex) 진라면 큰컵
- __라면% 의 경우 두 글자 이후 '라면'으로 끝나는 문자가 있는 row를 전부 출력한다 ex) 짜장라면
- _라면__ 의 경우 '라면' 앞뒤로 2개의 문자가 있는 row를 전부 출력한다
- 라면 의 경우 '라면' 문자 그대로 있는 row만 출력한다
해당 문제의 경우 시트가 들어간 모든 행을 출력하기 위해 '%시트%'를 사용한다
'PS > SQL' 카테고리의 다른 글
[프로그래머스] 조건에 맞는 사용자와 총 거래금액 조회하기(feat. JOIN시 ON, WHERE 차이) (1) | 2024.06.04 |
---|---|
[프로그래머스] 조건에 부합하는 중고거래 댓글 조회하기 (0) | 2024.05.03 |
[프로그래머스] 잡은 물고기의 평균 길이 구하기 (0) | 2024.04.16 |
[프로그래머스] 업그레이드 할 수 없는 아이템 구하기 (0) | 2024.04.16 |
[프로그래머스] ROOT 아이템 구하기 (0) | 2024.04.16 |