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
Cold Bean