题解 | #零食类商品中复购率top3高的商品#
零食类商品中复购率top3高的商品
https://www.nowcoder.com/practice/9c175775e7ad4d9da41602d588c5caf3
# 821 # 10:45 - # 统计零食类商品中复购率top3高的商品 # 商品复购率 = 近90天内购买它至少两次的人数 ÷ 购买它的总人数 # 字段:product_id,repurchase_rate # tb1:链接 with tb1 as( select product_id, date(event_time) as dt, uid from tb_order_detail left join tb_order_overall using(order_id) left join tb_product_info using(product_id) where tag = '零食' AND status = 1 AND date(event_time) >= (select date_sub(max(date(event_time)),interval 89 day) from tb_order_overall) # 最远日期2021-08-06 ), # tb2:统计复购人数 tb2 as( select product_id,uid,count(dt) as pay_cnt from tb1 group by product_id,uid ) # 注意点:一笔订单里面,购买两次同一个产品,不算复购(从结果来看) # 结果查询:复购/总人数 复购人数= 购买次数大于2的人数 总人数直接count select product_id,round(count(if(pay_cnt>=2,pay_cnt,null)) /count(pay_cnt),3) as repurchase_rate from tb2 group by product_id order by repurchase_rate desc,product_id asc limit 3; # 注意点:一笔订单里面,购买两次同一个产品,不算复购(从结果来看) # 注意点:输出top3,limit 3