본문 바로가기
프로그래머스/MySQL

[프로그래머스] 카테고리 별 상품 개수 구하기 - MySQL - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2024. 9. 12.
728x90
반응형

 

프로그래머스

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

programmers.co.kr

 

1. 문제 설명

반응형

2. 풀이과정

해당 문제는 상품 카테고리 코드 별 상품 개수를 조회하는 문제이다.
문제에서 중요한 점은 바로 카테고리 코드 별로 조회를 해야 한다는 점이다.
~별로 조회를 할 때는 GROUP BY 구문으로 그룹을 만들어주면 된다.
GROUP BY 뒤에 만들어줄 그룹의 기준 컬럼을 적어주면 해당 컬럼의 값 별로 그룹이 만들어진다.
그룹을 만든 뒤 COUNT() 함수를 사용하면 해당 그룹별로 각 값의 개수를 조회할 수 있다.
해당 문제에서 또 한 가지로, 조회할 때 상품 카테고리 코드를 해당 값에서 앞 2자리만 조회하도록 해야 한다.컬럼의 값이 문자열일 경우 여러 문자열 함수를 사용하여 이렇게 원하는 문자열만 조회할 수 있는데, 문제에서는 앞 2자리만 조회해야 하므로 LEFT() 함수를 사용하여 왼쪽에서부터 문자를 가져오도록 한다.LEFT() 함수를 LEFT(문자열, 개수) 형식으로 지정하면 문자열의 왼쪽부터 지정한 개수만큼 문자를 조회하게 된다.
최종 결과는 상품 카테고리 코드 순으로 조회한다. 
 

  1. 상품 카테고리, 상품 개수를 조회한다. 상품 카테고리는 앞 2자리만 조회한다. SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(PRODUCT_ID) AS PRODUCTS
  2. 값을 조회할 테이블을 지정한다. FROM PRODUCT
  3. 카테고리 코드 별로 조회를 해야 하므로 해당 컬럼 값을 기준으로 그룹을 만들어준다. GROUP BY CATEGORY
  4. 최종 결과는 상품 카테고리 코드 순으로 조회한다. ORDER BY CATEGORY
728x90

3. 소스코드

SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(PRODUCT_ID) AS PRODUCTS
FROM PRODUCT
GROUP BY CATEGORY
ORDER BY CATEGORY
728x90
반응형