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

with t as(
    select uid,
    max(in_time) as recent_in,
    min(in_time) as first_in,
    (select max(in_time) from tb_user_log) as today
    from tb_user_log
    group by uid
),
t1 as(
    select uid,
    case
        when datediff(today,recent_in)<=6 and datediff(today,first_in)>6 then '忠实用户'
        when datediff(today,first_in)<=6 then '新晋用户'
        # when 6<datediff(today,recent_in)<=30 then '沉睡用户'
        when  datediff(today,recent_in)>=30 then '流失用户'
        else '沉睡用户'
    end as user_grade
    from t
)
select user_grade,
round(count(user_grade)/(select count(*) from t1),2) as ratio
from t1
group by user_grade
order by ratio desc

全部评论

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
要AC不要WA:投一天,喜提两笔试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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