供参考:

SELECT product_id,round(sum(if(cnt>=2,1,0))/count(*),3)repurchase_rate
FROM
    (SELECT product_id,uid,count(*)cnt
    FROM
        (SELECT * 
         FROM tb_product_info 
         WHERE tag='零食')tb_product_tag_info
            JOIN tb_order_detail USING(product_id)
            JOIN (SELECT * FROM tb_order_overall WHERE event_time>subdate((SELECT max(event_time) FROM tb_order_overall),90))tb_order_recent_overall USING(order_id)
    GROUP BY product_id,uid)tb_order_cnt
GROUP BY product_id
ORDER BY repurchase_rate DESC,product_id
LIMIT 3;

运行结果: