题解 | #统计活跃间隔对用户分级结果#

统计活跃间隔对用户分级结果

https://www.nowcoder.com/practice/6765b4a4f260455bae513a60b6eed0af

在小红书看到一种解法,非常易懂

step 1: 先找到当前时间:-- date((select max(in_time) from tb_user_log))指的是当前时间
step 2:用case when对四种用户类型进行分层
case when datediff(date((select max(in_time) from tb_user_log)) ,date(min(in_time)))<=7 then '新晋用户' -- 这里的date(min(in_time)指的是这个新用户第一次一次登陆的时候
when datediff(date((select max(in_time) from tb_user_log)) ,date(max(in_time))) between 7 and 29 then '沉睡用户' -- 这里的date(max(in_time)指的是这个老用户最后一次登陆的时候
when datediff(date((select max(in_time) from tb_user_log)) ,date(max(in_time)))>=30 then '流失用户' -- 这里的date(max(in_time)指的是这个老用户最后一次登陆的时候
when datediff(date((select max(in_time) from tb_user_log)) ,date(max(in_time)))<=7 and -- 指的是用户最后一次登陆在七天之内
datediff(date((select max(in_time) from tb_user_log)) ,date(min(in_time)))>=7 then '忠实用户' -- (指的是用户从第一次登陆到当前时间当于等于7天,就是忠实用户

step 3: 然后用case when 的结果 user_level除以总用户就行select res.user_level, round(count(uid)/(select count(distinct uid) from tb_user_log),2) as rate

完整代码如下:
select res.user_level, round(count(uid)/(select count(distinct uid) from tb_user_log),2) as rate
from(select uid,
case when datediff(date((select max(in_time) from tb_user_log)) ,date(min(in_time)))<=7 then '新晋用户' 
when datediff(date((select max(in_time) from tb_user_log)) ,date(max(in_time))) between 7 and 29 then '沉睡用户' 
when datediff(date((select max(in_time) from tb_user_log)) ,date(max(in_time)))>=30 then '流失用户'
when datediff(date((select max(in_time) from tb_user_log)) ,date(max(in_time)))<=7 and 
datediff(date((select max(in_time) from tb_user_log)) ,date(min(in_time)))>=7 then '忠实用户' 
else null
end as user_level
from tb_user_log
group by 1)as res
group by 1
order by rate desc;


#用户分层和分群#
全部评论

相关推荐

感觉他们一点都不了解现在这个社会就业有多难,已经在牛客刷到好多篇&nbsp;延毕的帖子了,延毕就会导致已经找好的工作就没了,还得重新再找,学校和老师们是怎么想的呢????看到学生丢失工作会开心吗&nbsp;就业数据都在造假,真实的就业困难不去解决&nbsp;一个个真是好样的
从今天开始狠狠卷JVAV_癫:学生看到的是导师不放实习导致offer黄了。 导师看到的是招进来的学生吃自己补助和自己的招生名额,却没给自己升迁带来任何帮助,还要跑路。 根本利益的不一致,最主要留校的导师大概率是职场上招聘失败的,被迫留校的,什么牛鬼蛇神都会有
点赞 评论 收藏
分享
半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务