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

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

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

select
k.user_grade, round(count(k.uid)/(select count(distinct uid) from tb_user_log),2) ratio
from(
    select
    t.uid, 
    case when t.last_log_gap > 29 then '流失用户'
    when t.last_log_gap > 6 and t.last_log_gap <= 29 then '沉睡用户'
    when t.last_log_gap <= 6 and t.early_log_gap <= 6 then '新晋用户'
    else '忠实用户' end as user_grade
    from(
        select
        uid, datediff((select max(out_time) from tb_user_log), min(in_time)) early_log_gap, datediff((select max(out_time) from tb_user_log), max(out_time)) last_log_gap
        from tb_user_log
        group by uid
    ) t
) k
group by user_grade
order by ratio desc

又是参考大佬的,注意复习

全部评论

相关推荐

05-07 13:29
已编辑
门头沟学院 Java
北斗导航Compass低仿版:能不能先搞清楚优先级啊,怎么可能是项目问题,项目很重要吗?又没学历 又没实习大厂凭啥约面?那玩具项目 没应用在真实生产环境下的 就算做上天又有什么用?早点找个小公司实习 拿小公司实习去投大厂实习,这才是你现在该做的
投递美团等公司10个岗位 简历被挂麻了,求建议
点赞 评论 收藏
分享
牛客583549203号:腾讯还好,况且实习而已,实习生流动性很大,属于正常现象,记得和HR委婉解释
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务