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

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

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

with t as (select 
    uid,
    (case when datediff(date((select max(in_time) from tb_user_log)),date(max(in_time)))<=6 and datediff(date((select max(in_time)from tb_user_log)),date(min(in_time)))>6 then '忠实用户'
    when datediff(date((select max(in_time) from tb_user_log)),date(min(in_time)))<=6 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 '流失用户' end) as user_grade
from tb_user_log
group by uid)

select 
    user_grade,
    round(
        count(*)/(select count(distinct uid) from tb_user_log),2
    ) as ratio
from t
group by user_grade
order by ratio desc

全部评论

相关推荐

東大沒有派對:这是好事啊(峰哥脸
我的秋招日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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