题解 | 国庆期间近7日日均取消订单量

国庆期间近7日日均取消订单量

https://www.nowcoder.com/practice/2b330aa6cc994ec2a988704a078a0703

with
    temp as (
        select
            date(order_time) as order_time,
            count(start_time) as finish_num,
            sum(if(start_time is null, 1, 0)) as cancel_num
        from
            tb_get_car_record
            join tb_get_car_order using (order_id)
        where
            date(order_time) between '2021-09-25' and '2021-10-03'
        group by
            date(order_time)
        order by
            date(order_time)
    )
select
    dt,
    finish_num_7d,
    cancel_num_7d
from
    (
        select
            order_time as dt,
            round(
                sum(finish_num) over (
                    order by
                        order_time asc rows between 6 preceding
                        and current row
                ) / 7,
                2
            ) as finish_num_7d,
            round(
                sum(cancel_num) over (
                    order by
                        order_time asc rows between 6 preceding
                        and current row
                ) / 7,
                2
            ) as cancel_num_7d
        from
            temp
    ) as t1
where
    dt between '2021-10-01' and '2021-10-03'
order by
    dt

全部评论

相关推荐

不愿透露姓名的神秘牛友
04-23 10:48
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务