字节跳动SQL面试题:如何用SQL计算次日、3日、7日留存率?

字节跳动SQL面试题:如何用SQL计算次日、3日、7日留存率?

大家好!今天我们来聊聊一个让无数数据人又爱又恨的面试题——用户留存率计算。字节跳动的面试官尤其喜欢用这道题考察候选人的SQL功底,毕竟用户留存是衡量产品健康度的核心指标之一。但别慌,看完这篇攻略,你不仅能轻松应对面试,还能在朋友聚会时用“留存率”装个X!


一、留存率是什么?为什么重要?

留存率就像APP的“回头客指数”:

  • 次日留存率 = 用户今天来了,明天还来吗?
  • 3日留存率 = 用户今天来了,三天后还来吗?
  • 7日留存率 = 用户今天来了,一周后还来吗?

计算公式很简单:
N 日留存率 = 第N天活跃用户数 首日新增用户数 × 100 % N日留存率 = \frac{\text{第N天活跃用户数}}{\text{首日新增用户数}} \times 100\% N日留存率=首日新增用户数N天活跃用户数×100%
但用SQL实现时,魔鬼藏在细节里!


二、SQL实现:三步搞定留存率计算

步骤1:找到用户的“第一次心动”(首次登录日期)

SELECT 
  user_id,
  login_date,
  MIN(login_date) OVER (PARTITION BY user_id)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值