Kimuksung
Kimuksung 안녕하세요. 분산처리에 관심이 많은 생각하는 주니어 Data Enginner입니다.

leet code sql 1174

leet code sql 1174

1174. Immediate Food Delivery II

문제

  • 최초로 주문한 유저가 즉시 배송을 얼마나 시키는지 여부
  • 즉시 배송 = 동일한 날짜에 주문과 배송 날짜가 같은 경우
문제 접근

  • 테이블 자체에 값이 없는 경우 0으로 나누어 질 수 있다.
  • 최초로 주문한 유저를 표현하기 위해 order_date = deliver_date로 bool 표현
1
2
3
4
5
6
7
8
9
10
11
select
    round(sum(immediate_bool)/count(*)*100, 2) as immediate_percentage 
from 
(
    select 
        customer_id,
        row_number() over(partition by customer_id order by order_date) rn,
        order_date = customer_pref_delivery_date as immediate_bool
    from Delivery
) as t
where rn = 1