728x90
문제
PRODUCT 테이블에서 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력하는 SQL문을 작성해주세요. 결과는 상품 카테고리 코드를 기준으로 오름차순 정렬해주세요.
예시
예를 들어 PRODUCT 테이블이 다음과 같다면
PRODUCT_ID PRODUCT_CODE PRICE
1 | A1000011 | 10000 |
2 | A1000045 | 9000 |
3 | C3000002 | 22000 |
4 | C3000006 | 15000 |
5 | C3000010 | 30000 |
6 | K1000023 | 17000 |
상품 카테고리 코드 별 상품은 아래와 같으므로,
- A1: PRODUCT_ID가 1, 2 인 상품
- C3: PRODUCT_ID가 3, 4, 5 인 상품
- K1: PRODUCT_ID가 6 인 상품
다음과 같은 결과가 나와야 합니다.
CATEGORY PRODUCTS
A1 | 2 |
C3 | 3 |
K1 | 1 |
내 정답
select substr(product_code, 1, 2) as category, count(*) as products
from product
group by category
order by category
설명
substr 함수는 문자열에서 특정 부분을 잘라내는 함수이다.
기본적인 사용 방법은 다음과 같다.
select substr(문자열, 시작위치, 길이) from 테이블
- 문자열 : 원본 문자열
- 시작위치 : 문자열에서 잘라낼 부분의 시작 위치 (0부터 시작)
- 길이 : 잘라낼 문자열의 길이
예를 들어, substr(”Hello, World!”, 2, 5)라는 함수를 실행한다면 "ello, "를 반환한다.
728x90
'SQL' 카테고리의 다른 글
Querydsl - Querydsl 프로젝션으로 DTO 조회 (0) | 2023.05.08 |
---|---|
MySQL - 프로그래머스 157341. 대여 기록이 존재하는 자동차 리스트 구하기 (MONTH( ) 함수) (0) | 2023.05.06 |
SQL - 프로그래머스 131124. 재구매가 일어난 상품과 회원 리스트 구하기. 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2023.04.28 |
Redis - MacOS에서 Redis 설치하기 (0) | 2023.03.30 |
SQL - 프로그래머스 131536. 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2023.03.20 |