문제 설명
다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 정보를 담은 PRODUCT 테이블입니다. PRODUCT 테이블은 아래와 같은 구조로 되어있으며, PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다.
name Type Nullable
PRODUCT_ID INTEGER FALSE
PRODUCT_CODE VARCHAR(8) FALSE
PRICE INTEGER FALSE
상품 별로 중복되지 않는 8자리 상품코드 값을 가지며, 앞 2자리는 카테고리 코드를 의미합니다.
문제
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 left(PRODUCT_CODE,2) AS CATEGORY, COUNT(PRODUCT_CODE) AS PRODUCT from PRODUCT
GROUP BY CATEGORY
ORDER BY CATEGORY
LEFT함수를 사용해서 코드 앞글자 2개를 잘라내고
GROUP BY와 ORDER BY를 사용하면 해결된다!
'코딩테스트 > MYSQL' 카테고리의 다른 글
[MySQL/프로그래머스] 오프라인/온라인 판매 데이터 통합하기 (0) | 2023.08.28 |
---|---|
[MySQL/프로그래머스] 있었는데요 없었습니다 (0) | 2023.08.01 |
[MySQL/프로그래머스] 그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2023.07.17 |
[MySQL/프로그래머스] 조건별로 분류하여 주문상태 출력하기 (0) | 2023.07.16 |
[MySQL/프로그래머스] 서울에 위치한 식당 목록 출력하기 (0) | 2023.07.15 |