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

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

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

with zb3 as (with zb2 as (with zb as (select uid,out_time,max(out_time) over() as max_time,/*离现在最近时间*/
first_value(out_time) over(partition by uid order by out_time desc) near_time,/*用户最近登录时间*/
first_value(out_time) over(partition by uid order by out_time) first_time /*用户第一次登录时间*/
from tb_user_log)
select *,datediff(max_time,near_time) diff_time /*最近时间和最近登录时间差*/
from zb
where out_time = near_time) /*去重,只留下最近登录时间,其他时间没有计算意义*/
select uid,(case when out_time=first_time and diff_time <=6 then '新晋用户' /*当最近登录时间和第一次登录时间一样,该用户则为新用户*/
			when diff_time <=6 and out_time!=first_time then '忠实用户'
            when diff_time <=29 then '沉睡用户' 
            else '流失用户' end) user_grade,count(*) over() sum_p 
from zb2)
select user_grade,round(count(uid)/max(sum_p),2) ratio
from zb3
group by user_grade
order by ratio desc,user_grade

全部评论

相关推荐

10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
ProMonkey2024:5个oc?厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了(别的帖子偷来的,现学现卖😋)
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务