[SQL] 카테고리 별 상품 개수 구하기

Ray·2025년 3월 6일
0

SQL

목록 보기
16/19

🔎 문제설명

  • 출처: 프로그래머스
  • 사용언어(RDBMS): SQL(MySQL)
  • 문제:

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




✅ 제출답안

# 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력
# 상품 카테고리 코드를 기준으로 오름차순 정렬
SELECT SUBSTRING(PRODUCT_CODE, 1, 2) AS CATEGORY, COUNT(PRODUCT_ID) AS PRODUCTS
FROM PRODUCT
GROUP BY SUBSTRING(PRODUCT_CODE, 1, 2)
ORDER BY SUBSTRING(PRODUCT_CODE, 1, 2) ASC;



🚀 풀이기록

문자열에서 특정 문자열을 추출하는 함수가 기억이 나지 않아 튜토리얼을 찾아보았다.

 
SUBSTRING(string, start, length) 또는
SUBSTRING(string FROM start FOR length)
# string: 추출하려는 문자열
# start: 시작위치. 앞에서부터 시작하면 1, 뒤에서부터 시작하면 -1
# length: 추출길이.

다른 분은 substr()을 사용해서 푸셨는데, GPT에 물어보니, 둘은 동일한 기능을 수행하고 동의어(Alias) 관계라고 한다. 다만 substr()SUBSTRING(string FROM start FOR length) 처럼 사용할 수 없고, SUBSTRING() 이 공식적인 함수명이라고 한다.

profile
미래의 독자인 나를 위해 글을 씁니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN