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

本文分享了如何使用SQL分析用户最长连续活跃天数,通过用户活跃表,利用窗口函数ROW_NUMBER()进行组内排序,再判断是否连续,最后以用户ID分组获取最长连续登陆天数。这一方法有助于评估用户粘性,对于产品留存分析具有指导意义。
摘要由CSDN通过智能技术生成

 

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

 

PART 01 用户活跃数据

用户活跃表

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

CREATE TABLE `user_active`(    `uid` string,             -- 用户ID    `active_time` string      -- 活跃日期)row format delimitedfields terminated by '\t';

 

示例数据如下:

select day, uid from user_active;# 查询结果#  day  uid1  2021-03-05  0ab14054cc500e62cf1ecb09e7930d072  2021-03-06  15b3048ca106e794a51986718827c87c3  2021-03-12  9b5f08191302b9b808e643a75badbb824  2021-03-16  15b3048ca106e794a51986718827c87c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值