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

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

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

#题目的‘留存率’就是第一天刷题后‘第二天’继续刷题的人数/总人数
#这份题目比较坑,表中有重复数据
#所以首先要剔除重复数据
#IF((*,*) IN (SELECT * FROM **),1,0)这个语句是查询二元元组是否在子查询中
SELECT AVG(IF((device_id,DATE_ADD(date, INTERVAL 1 DAY)) in (
    SELECT device_id,date
    FROM question_practice_detail
),1,0)) avg_ret
FROM (#剔除重复数据
    SELECT DISTINCT device_id,date
    FROM question_practice_detail
) q

全部评论

相关推荐

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