题解 | #计算用户的平均次日留存率#
计算用户的平均次日留存率
https://www.nowcoder.com/practice/126083961ae0415fbde061d7ebbde453
#左表(id,date)右表(id,date(此date是由-1得到,一旦id=id,date=date就表示该记录存在两日连续做题) #连接两个表,自连接为的就是能够将滞后一天日期的唯一id数量与前一天的进行错位 #留存问题 SELECT COUNT(distinct q2.device_id,q2.date)/count(DISTINCT q1.device_id,q1.date) as avg_ret from question_practice_detail as q1 left join question_practice_detail as q2 on q1.device_id=q2.device_id and DATEDIFF(q2.date,q1.date)=1