题解 | #零食类商品中复购率top3高的商品#

零食类商品中复购率top3高的商品

https://www.nowcoder.com/practice/9c175775e7ad4d9da41602d588c5caf3

select A.product_id, round(sum(if(A.pur_tm >=2, 1,0))/count(pur_tm),3) as repurchase_rate from
(select tb_order_detail.product_id, tb_order_overall.uid, count(date(event_time)) as pur_tm from
	tb_order_detail left join tb_product_info 
    on tb_order_detail.product_id = tb_product_info.product_id
    left join tb_order_overall
    on tb_order_detail.order_id =  tb_order_overall.order_id
where tag = "零食" and
date(event_time) <= (select max(date(event_time)) from tb_order_overall) 
and date(event_time) >= (select date_add((select max(date(event_time)) from tb_order_overall), interval "-89" day))
and status = 1
group by tb_order_detail.product_id, tb_order_overall.uid) as A
group by product_id
order by repurchase_rate desc, A.product_id asc
limit 3;

step 1: 求出每件产品被不同用户买的次数的表格

限制条件: 近90天、tag为零食、status需要购买

step2: 在上表基础上,计算每个产品的复购率(买两次及其以上的用户数/购买产品的所有用户数)

#sql#
全部评论

相关推荐

1 2 评论
分享
牛客网
牛客企业服务