题目有2点容易引起理解差异:1、最大日期(当天),是分组取每个商品的最大日期,还是全表的最大日期;2、某商品复购率 = 近90天内购买它至少两次的人数 ÷ 购买它的总人数,分母可以是限制为90天内的总人数,也可以不限制;理解不同,写出的SQL也不同,不过看其它题解,好像都可以通过测试用例;建议各位不用纠结,清楚针对不同场景如何编写对应的SQL即可;以下为取全表的最大日期、总人数不限制天数的写法(跟其它题解异曲同工,部分步骤可合并简化,建议分步执行): WITH t as( SELECT tod.product_id, too.uid, date(too.event_time) AS order...