SQL
[SQL] 버뮤다 삼각지대에 들어가버린 택배
DS쟁이
2022. 11. 28. 20:01
❗ 본 포스팅은 Solvesql의 연습문제를 활용합니다. 다양한 SQL 문제를 풀어보고 싶다면 Solvesql를 방문하세요.
이번문제는 버뮤다 삼각지대에 들어가버린 택배이다.

문제를 해석하면
- order_delivered_carrier_date는 배송이 시작된 시점, order_delivered_customer_date는 배송이 완료된 시점을 가지고 배송이 시작된 시점을 기준으로 2017년 1월과 배송완료가 안된 것들을 추출한다.
- 배송시작된 시점(’YYYY-MM-DD’)를 Group by하고 카운트 해준다.
- 배송시작된 시점 기준으로 오름차순 정렬한다.
Group by를 알고있으면 쉽게 접근해서 풀 수 있는 문제이다. 아래는 테이블정보이다.

select
order_delivered_carrier_date as delivered_carrier_date,
count(*) as orders
from
(
select
strftime(
'%Y-%m-%d',
order_delivered_carrier_date,
'localtime'
) as order_delivered_carrier_date,
order_delivered_customer_date
from
olist_orders_dataset
where
order_delivered_carrier_date > '2017-01'
and order_delivered_carrier_date < '2017-02'
and order_delivered_customer_date is null
) as t1
group by
order_delivered_carrier_date
order by
delivered_carrier_date;
** 일자별(’YYYY-MM-DD’)로 Group by해야하므로 ‘YYYY-MM-DD’형식으로 변경해준다.