首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据分析面经分享|SQL如何查询用户的最长连续活跃天数?

当我们对产品进行用户行为分析时,会比较关注留存相关的指标,我们希望用户能每天使用我们的产品,那么除了常规的计算用户次日、3日、7日...n日留存率之外,我们该怎么分析一个用户连续登陆的天数呢?我们来一步步拆解。

PART

01

用户活跃数据

用户活跃表

我们有一个用户活跃表,假设每天用户只有一条登陆信息(如有多条,视实际情况处理),表结构如下:

示例数据如下:

PART

02

统计用户最长连续天数

(1)用户组内排序

使用ROW_NUMBER() 窗口函数 按uid分组,按day升序排序:

(2)判断是否连续

升序排序后:用day - sort如果连续则做差后值一样,然后再用uid,day分组算出每个uid下连续的天数;

从查询结果可以看到,每个用户每次的连续登陆天数和首尾日期;

(3)以uid分组,取最大连续登陆天数

从查询结果可以看到,每个用户在统计周期内最长的连续登陆天数,连续登陆时间越长,说明用户的粘性越高,对我们的产品来说也更有价值。

希望通过上面的一些总结,可以对大家在数据分析工作中提供一些帮助。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230311A06CHX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券