题解全都用的是left join,对我这个初学者来说有点抽象,用where实现也是可取的。 首先,题目中的日留存率应该对device_id-date的组合进行统计,既要筛出一个设备同一天做多道题的情况,也要包含同一设备不同天做答的情况。 例如只有张三一个用户,他前天做了4道题,昨天做了3道题,今天做了2道题,假设他明天不会做题,那么目前的日留存率就是2/3。 所以总的算式可表示为(满足device_id,date+1在数据表中的distinct device_id, date)/(所有distinct device_id, date) 对于前者,思路为:第一步,计算该条数据的date+1日期;...