题解 | #计算用户的平均次日留存率#

计算用户的平均次日留存率

https://www.nowcoder.com/practice/126083961ae0415fbde061d7ebbde453

SELECT COUNT(DISTINCT q2.device_id,q2.date)/COUNT(DISTINCT q1.device_id,q1.date) AS avg_ret
FROM question_practice_detail q1 LEFT JOIN question_practice_detail q2 ON q1.device_id = q2.device_id and DATEDIFF(q2.date,q1.date)=1

SELECT 第二天的非重复id数量/第一天非重复id数量 AS avg_ret ##为了防止当天会有某个id反复登陆刷题

FROM

question_practice_detail 第一天 LEFT JOIN ##这里写LEFT OUTER JOIN也没有区别…(INNER JOIN = JOIN,LEFT/RIGHT JOIN =LEFT/RIGHT OUTER JOIN) qpd第二天 ON 条件是两天的id相同 且 DATEDIFF(第二天日期,第一天日期)=1

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务