校招算法笔面试 | SQL笔试面试编程题-计算用户的平均次日留存率

题目## 题目

题目链接

题目描述

运营团队希望查看用户在某天刷题后第二天是否会继续刷题的留存率。具体来说,计算所有用户在某天进行刷题活动后,第二天还进行刷题的用户比例,并求其平均值。需要从 question_practice_detail 表中提取相关数据,最终返回平均留存率 avg_ret,结果保留四位小数。

解题思路

要计算用户的留存率,我们需要完成以下步骤:

  1. 确定每个用户每日的刷题记录

    • 首先,获取每个用户在每个日期的刷题记录,确保每个用户每天只被计算一次。
  2. 判断用户次日是否有刷题记录

    • 对于每个用户在某一天的刷题记录,检查用户在次日是否有刷题行为。如果有,则认为该用户在次日有留存。
  3. 计算留存率

    • 留存率的计算公式为:
      $
      \text{留存率} = \frac{\text{有次日刷题记录的用户总数}}{\text{总用户刷题记录数}}
      $
    • 最终结果保留四位小数。

SQL 查询


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值