题解 | #店铺901国庆期间的7日动销率和滞销率#

店铺901国庆期间的7日动销率和滞销率

https://www.nowcoder.com/practice/e7837f66e8fb4b45b694d24ea61f0dc9

-- 为每个商品的订单记录join 2021-10-01、2021-10-02、2021-10-03三天生成笛卡尔积
-- 根据是否七天内有订单记录生成is_sale字段,根据发布日期和dt生成is_shelf字段
-- 聚合求值
with v1 as (
    select
            tpi.product_id ,
            too.order_id,
            date(release_time) as release_dt,
            date(event_time) as sale_dt,
            shop_id,
            tmp.dt
    from tb_product_info tpi 
    left join tb_order_detail tod on tpi.product_id = tod.product_id 
    left join tb_order_overall too on too.order_id = tod.order_id 
    join (select distinct date(event_time) as dt 
            from tb_order_overall 
            where date(event_time) between '2021-10-01' and '2021-10-03'
            ) tmp -- 笛卡尔积
    where release_time <= '2023-10-03' 
    and date(event_time) between '2021-09-25' and '2021-10-03' 
    and status = 1
)
select 
    dt,
    round(sum(is_sale) / sum(is_shelf), 3) as sale_rate,
    round(1 - sum(is_sale) / sum(is_shelf), 3)  as unsale_rate
from(
    select 
        dt,
        product_id,
        max(if(datediff(dt, sale_dt) between 0 and 6, 1, 0 )) as is_sale,
        max(if(release_dt <= dt, 1, 0)) as is_shelf
    from v1 
    where shop_id = 901
    group by dt, product_id 
) t 
group by dt
order by dt
;

全部评论

相关推荐

我面试,她问我有女朋友没
不太迷人的反派_:不过对象,还会结合你老家,意向城市等等,看你是否稳定。哥们,别多想
点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-20 20:30
工作没了,落户没了,什么都没了
梦想是成为七海千秋:是因为什么原因呀,如果是因为导师恶意卡你就和他爆了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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