https://solvesql.com/problems/characteristics-of-orders/
[코드]
select
region as 'Region',
sum(case when category = 'Furniture' then order_id end) as 'Furniture',
sum(case when category = 'Office Supplies' then order_id end) as 'Office Supplies',
sum(case when category = 'Technology' then order_id end) as 'Technology'
from
(select region,category, count(distinct order_id) as order_id
from records group by region, category order by region)
group by region
order by region;
[고찰]
이번 문제는 너무 복잡해서 다른 사람의 글을 참고했다. 해당 문제의 핵심은 지역과 카테고리 별 주문의 수를 담은 테이블을 만들기 위해 가공 과정을 거쳐야 한다는 점이다. 이를 위해 from 뒤 select 문을 하나 더 사용해서 테이블의 범위를 좁혀주었다. 이런 테이블에서 카테고리에 따라 order_id의 수를 더해주면 되는 문제였다.
'SQL 문제' 카테고리의 다른 글
[solvesql_Level3] 멘토링 짝꿍 리스트 (0) | 2023.10.16 |
---|---|
[solvesql_Level3] 작품이 없는 작가 찾기 (0) | 2023.10.14 |
[solvesql_Level3] 쇼핑몰의 일일 매출액과 ARPPU (0) | 2023.10.13 |
[solvesql_Level3] 배송 예정일 예측 성공과 실패 (0) | 2023.10.13 |
[solvesql_Level2] 우리 플랫폼에 정착한 판매자 2 (0) | 2023.10.13 |