[MySQL] 프로그래머스 카테고리 별 상품 개수 구하기
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/131529
1. 서론
substr 활용법을 알게 해준 좋은 문제 :)
2. 문제 풀이
PRODUCT: 의류 쇼핑몰에서 판매 중인 상품들의 정보를 담은 테이블
테이블 구조:
PRODUCT_ID, PRODUCT_CODE, PRICE
(각각 상품 ID, 상품코드, 판매가)
Q. PRODUCT 테이블에서 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력하는 SQL문을 작성해 주세요. 결과는 상품 카테고리 코드를 기준으로 오름차순 정렬해 주세요.
핵심은 어떻게 코드 앞 두 자리만으로 나눠서 식별할 것인가였다.
이 문제를 풀면서 느낀 건데 SQL이라고 따로 어렵게 생각하 필요 없이 PS 하듯이 문제를 풀어도 될 것 같다.
왜냐하면 코드 앞 두 자리를 substr을 통해서 앞의 두 자리를 잘라서 변수를 만들어줬기 때문이다.
이 변수를 이용해 그룹화하면 카테고리별 상품 개수를 구할 수 있다.
3. 코드 설명
select substr(product_code, 1, 2) as category, count(*) as products
from product
group by category
order by category;
substr을 통해 앞의 두 글자를 잘라주고 변수를 만들었다.
그리고 그걸 토대로 group by로 카테고리가 같은 것들끼리 그룹화를 한 후에 그 코드가 몇 개인지 count()로 상품 개수를 세어주었다.
그리고 문제 조건에 따라 정렬을 했다.
반응형
'SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2023.01.17 |
---|---|
[MySQL] 프로그래머스 카테고리 별 도서 판매량 집계하기(+Oracle) (0) | 2023.01.17 |
[MySQL] 프로그래머스 가격대 별 상품 개수 구하기 (0) | 2023.01.12 |
[MySQL] 프로그래머스 상품 별 오프라인 매출 구하기 (1) | 2023.01.12 |
[MySQL] 프로그래머스 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2023.01.12 |