-
[Programmers] 카테고리 별 상품 개수 구하기 (SQL, Left, 문자 추출)Algorithm 2023. 11. 30. 17:36반응형
- 목차
문제 설명.
https://school.programmers.co.kr/learn/courses/30/lessons/131529
다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 정보를 담은 PRODUCT 테이블입니다. PRODUCT 테이블은 아래와 같은 구조로 되어있으며, PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다.
PRODUCT_ID INTEGER FALSE PRODUCT_CODE VARCHAR(8) FALSE PRICE INTEGER FALSE Column nameTypeNullable
상품 별로 중복되지 않는 8자리 상품코드 값을 가지며, 앞 2자리는 카테고리 코드를 의미합니다.
문제
PRODUCT 테이블에서 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력하는 SQL문을 작성해주세요. 결과는 상품 카테고리 코드를 기준으로 오름차순 정렬해주세요.
예시
예를 들어 PRODUCT 테이블이 다음과 같다면
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 인 상품
다음과 같은 결과가 나와야 합니다.
A1 2 C3 3 K1 1 문제 분석.
SQL 에서 문자열의 일부를 추출하기 위해서 left 함수를 사용하였습니다.
left 함수는 문자열의 일부를 추출할 수 있는 함수인데요.
문자열의 시작점인 0번째 위치를 시작으로 N 번째까지 문자열을 추출합니다.
사용법은 아래와 같습니다.
select left(text, 10) from texts
문제 풀이.
SELECT left(PRODUCT_CODE, 2) as CATEGORY, count(*) as PRODUCTS from PRODUCT group by CATEGORY order by CATEGORY asc
반응형'Algorithm' 카테고리의 다른 글
Programmers 게임 맵 최단거리 (0) 2023.12.01 Programmers 카카오 프렌즈 컬러링북 (0) 2023.12.01 Stack 으로 조합 구현하기. (2) 2023.11.25 [Programmers] 진료과별 총 예약 횟수 출력하기 (SQL) (0) 2023.10.03 [Programmers] 두 원 사이의 정수 쌍 ( 좌표 ) (0) 2023.09.28