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

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

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

全部评论

相关推荐

牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
饿魔:看到在线简历了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务