Milky's note

[sovlesql] 배송 예정일 예측 성공과 실패 본문

SQL/SQL 코딩 테스트-Solvesql

[sovlesql] 배송 예정일 예측 성공과 실패

밀뿌 2022. 5. 15. 19:07

https://solvesql.com/problems/estimated-delivery-date/

 

solvesql

© Copyright 2021-2022 solvesql.com

solvesql.com

 

문제는 위와 같다.

주제가 피벗 테이블이라서 피벗으로 어떻게 풀어야할까 고민하다가 너무 어렵게 빠져버려서 group by를 사용해서 푸는 방법으로 풀었다.

1월 한달 동안의 배송 성공과 실패 쿼리를 뽑는 것으로 성공, 실패에 대한 조건은 case문을 사용해주었고 그것을 count 해주는 방식으로 풀었다.

 

select date(order_purchase_timestamp) as purchase_date,
count(case when date(order_delivered_customer_date) < date(order_estimated_delivery_date) then order_id end) as success,
count(case when date(order_delivered_customer_date) >= date(order_estimated_delivery_date) then order_id end) as fail 
from olist_orders_dataset
where order_delivered_customer_date is not null
and order_estimated_delivery_date is not null
and date(order_purchase_timestamp) between '2017-01-01' and '2017-01-31'
group by date(order_purchase_timestamp)
order by date(order_purchase_timestamp);

 

Comments