학습/SQL
[solvesql] SQL 풀어보기 - 지역별 주문의 특징
용이03
2025. 3. 1. 13:39
✔️ 문제
US E-Commerce Records 2020 데이터베이스는 미국 이커머스 웹사이트의 판매 데이터를 담고 있습니다. records 테이블은 주문 번호, 주문 날짜, 주문 지역, 카테고리 등 주문의 상세 정보가 들어 있습니다. 이 데이터를 이용하여 미국의 각 지역별로 어떤 카테고리의 상품이 많이 판매되는지 알아보려고 합니다. region, category 별 주문량을 계산해 출력하는 쿼리를 작성해주세요.
✔️ LEVEL 3
📌 문제 분석
주요 요구사항:
- region(지역)별로 그룹화하여 결과를 출력해야 합니다.
- 특정 카테고리(Furniture, Office Supplies, Technology)에 해당하는 주문 개수를 계산해야 합니다.
- 각 카테고리별로 중복되지 않은 주문 건수를 집계해야 합니다.
- 최종 결과를 region 기준으로 정렬해야 합니다.
SELECT region Region,
COUNT(DISTINCT CASE WHEN category = 'Furniture' THEN ORDER_ID END) AS 'Furniture',
COUNT(DISTINCT CASE WHEN category = 'Office Supplies' THEN ORDER_ID END) AS 'Office Supplies',
COUNT(DISTINCT CASE WHEN category = 'Technology' THEN ORDER_ID END) AS 'Technology'
FROM records
GROUP BY region
ORDER BY REGION
✍ 코드 해석
1. COUNT(DISTINCT CASE WHEN category = 'Furniture' THEN ORDER_ID END) AS 'Furniture',
- CASE WHEN 문을 사용하여 category가 'Furniture'인 경우에만 ORDER_ID를 선택
- COUNT(DISTINCT ORDER_ID)를 사용하여 중복을 제거한 주문 건수만 집계
- Furniture 카테고리의 총 주문 건수를 Furniture 컬럼에 저장
- Office Supplies , Technology 도 똑같은 방법으로 칼럼 생성하기.
2. GROUP BY region
- region을 기준으로 그룹화하여 각 지역별 주문 데이터를 분석합니다.
3. ORDER BY REGION;
- 결과를 region 기준으로 오름차순 정렬하여 가독성을 높입니다.
📌 실행 결과
✅ 정리
records 테이블에서 region(지역)을 기준으로 그룹화한 후,
각 지역에서 Furniture, Office Supplies, Technology 카테고리별 주문량을 집계하는 문제.
이를 통해 미국의 각 지역에서 어떤 상품 카테고리가 가장 많이 판매되었는지 쉽게 분석 가능