Lv2 - 카테고리 별 상품 개수 구하기

2025. 7. 20. 12:19·CODING TEST/MySQL

📌 문제 정보

- 문제 이름 : 프로그래머스 - (String, Date) 카테고리 별 상품 개수 구하기

- 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131529

 

 

 

📌 문제 요약

- PRODUCT 테이블 : PRODUCT_ID (상품 ID), PRODUCT_CODE (상품코드), PRICE (판매가)

- PRODUCT 테이블에서 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력하는 SQL문을 작성해주세요. 결과는 상품 카테고리 코드를 기준으로 오름차순 정렬해주세요.

 

예시)

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(*) AS PRODUCTS
FROM PRODUCT
GROUP BY LEFT(PRODUCT_CODE, 2)
ORDER BY PRODUCT_CODE ASC;

- 앞글자 2글자를 자르는 문법을 생각하진 못했음. LIKE 문법을 어찌저찌 쓰면 가능할 줄 알았는데 앞글자 코드가 달랐기 때문에 불가능한 것을 깨닫고 난 후 힌트를 찾아서 풀었음.

- ORDER BY 부분 잘못 적음 : CATEGORY 기준으로 묶었기 때문에 ORDER BY LEFT(PRODUCT_CODE, 2) or ORDER BY CATEGORY로 써야함.

 

 

 

📌 새로 배운 문법

<-- 이번 문제에서 새로 배운 Java 문법 정리 -->

** LEFT() 함수 **

- LEFT(문자열, 숫자) 함수 : 문자열에서 왼쪽부터 N글자만 잘라서 반환해주는 함수

LEFT(문자열, N)	-- 문자열의 왼쪽부터 N글자 추출
LEFT('ABCD', 2)	   -- 'AB' 반환

 

** 문자열 자르기 관련 함수들 **

LEFT(str, N) 문자열 왼쪽부터 N글자 추출 LEFT('ABCDE', 2) → 'AB'
RIGHT(str, N) 문자열 오른쪽부터 N글자 추출 RIGHT('ABCDE', 2) → 'DE'
SUBSTRING(str, start, length) 또는 SUBSTR() 원하는 위치부터 N글자 추출 SUBSTRING('ABCDE', 2, 3) → 'BCD'
MID(str, start, length) SUBSTRING()의 별명 (같은 기능) MID('ABCDE', 2, 3) → 'BCD'

- 앞에서 N글자 자를 땐 LEFT, 뒤에서 자를 땐 RIGHT, 특정 위치부터 자를 땐 SUBSTRING or MID!

'CODING TEST > MySQL' 카테고리의 다른 글

Lv2 - 중복 제거하기  (0) 2025.07.21
Lv2 - 가격이 제일 비싼 식품의 정보 출력하기  (0) 2025.07.21
Lv2 - 이름에 el이 들어가는 동물 찾기  (0) 2025.07.20
Lv2 - 동명 동물 수 찾기  (0) 2025.07.19
Lv1 - 조건에 부합하는 중고거래 댓글 조회하기  (0) 2025.07.17
'CODING TEST/MySQL' 카테고리의 다른 글
  • Lv2 - 중복 제거하기
  • Lv2 - 가격이 제일 비싼 식품의 정보 출력하기
  • Lv2 - 이름에 el이 들어가는 동물 찾기
  • Lv2 - 동명 동물 수 찾기
iamyuunzo
iamyuunzo
https://github.com/iamyuunzo
  • iamyuunzo
    iamyuunzo
    iamyuunzo
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • Study (5)
        • App Developer (0)
        • Algorithm study (0)
        • Google AI Essentials (3)
      • Project (3)
        • 감행 (3)
        • Tokkit (0)
        • 다시, 봄 (0)
        • Clone Coding (0)
      • 자격증 모음 (5)
        • AWS Certification (1)
        • 정보처리기사 (0)
        • 빅데이터분석기사 (1)
        • TOEIC Speaking (3)
      • CODING TEST (79)
        • baekjoon (26)
        • programmers (20)
        • MySQL (31)
        • COS Pro (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    COS Pro
    우리fis아카데미
    백준
    AWS Certified Cloud Practitioner
    우리 fisa
    회고록
    AWS Certification
    SQL
    감행
    java
    CLF-C02
    회고
    토익 스피킹
    우리fisa
    toeic speaking
    baekjoon
    Programmers
    클라우드서비스개발
    프로젝트 리팩토링
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
iamyuunzo
Lv2 - 카테고리 별 상품 개수 구하기
상단으로

티스토리툴바