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

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

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

select
    user_grade,
    round(
        count(uid) / (
            select
                count(distinct uid)
        
        from
            tb_user_log),
            2
    ) as ratio
from
    (
        select
            uid,
            (
                case
                    when min(jiange) < 7
                    and max(jiange) >= 7 then '忠实用户'
                    when max(jiange) < 7 then '新晋用户'
                    when min(jiange) >= 30 then '流失用户'
                    else '沉睡用户'
                end
            ) as user_grade
        from
            (
                select
                    uid,
                    datediff (
                        (
                            select
                                max(date (in_time))
                            from
                                tb_user_log
                        ),
                        date (in_time)
                    ) as jiange
                from
                    tb_user_log
                order by
                    uid
            ) t1
        group by
            uid
    ) t2
group by
    user_grade
order by ratio desc,user_grade

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-15 17:46
暑期就挂了,秋招还有机会吗
大聪明777:研发提前批,14号刚开的,官网上面的配图上有写。提前批没过的话,秋招还可以投,不过前面的笔试/面试记录会被保留,供秋招参考
26届校招投递进展
点赞 评论 收藏
分享
07-10 14:08
已编辑
江西农业大学 Java
念旧select:做完把项目放到自己硬盘里给他看,看完拷走
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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