문제 출처 : https://solvesql.com/problems/characteristics-of-orders/
https://solvesql.com/problems/characteristics-of-orders/
solvesql.com
1. 문제
난이도3, 정답률 28.74%
US E-Commerce Records 2020 데이터셋은 미국 이커머스 웹사이트의 판매 데이터 입니다. records 테이블은 주문 번호, 주문 날짜, 주문 지역, 카테고리 등 주문의 상세 정보를 담고 있습니다. 이 데이터를 이용하여 미국의 각 지역별로 어떤 카테고리의 상품이 많이 판매되는지 알아보려고 합니다. region, category 별 주문량을 계산해 출력하는 쿼리를 작성해주세요.
결과 데이터 형식
결과 데이터는 아래와 같은 테이블 형태로 출력되어야 하고, Region 컬럼 기준 오름차순으로 정렬되어 있어야 합니다.
결과 데이터의 각 컬럼은 다음과 같은 의미를 갖습니다.
- Region - 주문 지역
- Furniture - 해당 지역 내 가구(’Furniture’) 주문 수
- Office Supplies - 해당 지역 내 오피스 물품(’Office Supplies’) 주문 수
- Technology - 해당 지역 내 전자기기(’Technology’) 주문 수
2. 조건
- region과 category별 주문량을 계산해 출력
- 데이터 형식에 맞는 결과로 출력
3. 쿼리
SELECT
region AS 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
데이터 출력 결과로 각 지역의 카테고리 별 주문 수량을 표현해 주어야 하기 때문에 Group By에 region을 넣어준다.
각 카테고리별 주문 수량은 Case문을 사용하여 카테고리에 맞는 Order id를 중복을 제거하여 Count를 해주어 표현한다.
4. 실행 결과
'solvesql - SQL문제' 카테고리의 다른 글
solvesql - 쇼핑몰의 일일 매출액과 ARPPU(Group by) (0) | 2024.11.20 |
---|---|
solvesql - 배송 예정일 예측 성공과 실패(Case, Group by) (0) | 2024.11.14 |
solvesql - 할부는 몇 개월로 해드릴까요(Group by) (0) | 2024.11.12 |
solvesql - 복수 국적 메달 수상한 선수 찾기(Join, Group By) (0) | 2024.11.12 |
solvesql - 레스토랑 요일 별 구매금액 Top 3 영수증(WITH, RANK()) (0) | 2024.11.03 |