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

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

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
全部评论

相关推荐

03-01 21:45
中北大学 golang
孤蓝长空:请你说一下为什么你用websocket而不是http,请你说一下什么是rpc,为什么用rpc,你的rpc的传输协议是JSON,xml还是什么 请你描述一下你的鉴权流程(完整的) 我问的是第二个项目,随便问的哈哈哈
开工第一帖
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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