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

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

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

 select user_grade,
 round(count(user_grade)/cnt,2) ratio  from (
select uid,case
when  datediff(当日日期,最后活跃时间)<=6
and  datediff(当日日期,第一次登录时间) >6
then '忠实用户'
when datediff(当日日期,第一次登录时间) <=6
then '新晋用户'
when datediff(当日日期,最后活跃时间)>6 
and datediff(当日日期,最后活跃时间)<30 
then '沉睡用户'
else '流失用户'
end user_grade,
count(uid)over() cnt
from (
select uid,
min(date(out_time)) '第一次登录时间',
(select max(date(out_time)) from tb_user_log) '当日日期',
max(date(out_time)) '最后活跃时间' from tb_user_log
group by uid) a
group by uid
 ) b
group by user_grade,cnt
order by ratio desc
全部评论

相关推荐

Cl_Wg:看牛客匿名贴容易抑郁,白菜就是我的天花板
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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