ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Programmers] 카테고리 별 상품 개수 구하기 (SQL, Left, 문자 추출)
    Algorithm 2023. 11. 30. 17:36
    728x90
    반응형

     

    - 목차

     

    문제 설명.

    https://school.programmers.co.kr/learn/courses/30/lessons/131529

     

    프로그래머스

    코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

    programmers.co.kr

     

    다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 정보를 담은 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

     

    반응형
Designed by Tistory.