SQL 문제

[solvesql_Level3] 지역별 주문의 특징

빙수빈수 2023. 10. 14. 09:30

https://solvesql.com/problems/characteristics-of-orders/

 

https://solvesql.com/problems/characteristics-of-orders/

 

solvesql.com

[코드]

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의 수를 더해주면 되는 문제였다.