SQL165 统计活跃间隔对用户分级结果
SQL165 统计活跃间隔对用户分级结果
分析题目后可得:
# 新晋用户:全表最大时间(今天)-注册时间<7
# 沉睡用户:全表最大时间(今天)-最近登录>=7 and 全表最大时间(今天)-最近登录<=29
# 流失用户:全表最大时间(今天)-最近登录>=30
# 忠实用户:全表最大时间(今天)-最近登录<7 and 全表最大时间(今天)-注册时间>=7
故首先要找出每个用户的注册时间、最近登录时间、全表最大时间(作为今天),然后根据题意对每个用户进行分级,最后分组求出每个级别的人数并除以总用户数(select count(distinct uid) from tb_user_log),即可得出每个级别的占比情况
with t1 as(
select
uid
,(select max(date(in_time)) from tb_user_log) as max_intime # 全表最大时间(今天)
,max(date(in_time)) as max_in_time # 每个用户登录的最大时间(最近登录)
,min(date(in_time)) as min_in_time # 每个用户登录的最小时间(注册时间)
from
tb_user_log
group by
uid
),t2 as(
select
uid,
case
when datediff(max_intime,min_in_time)<7 then '新晋用户'
when datediff(max_intime,max_in_time)>=7 and datediff(max_intime,max_in_time)<=29 then '沉睡用户'
when datediff(max_intime,max_in_time)>=30 then '流失用户'
else '忠实用户'end user_grade
from
t1
group by
uid
)
select
user_grade
,round(count(uid)/(select count(distinct uid) from tb_user_log),2) ratio
from
t2
group by
user_grade
order by
ratio desc
分析题目后可得:
# 新晋用户:全表最大时间(今天)-注册时间<7
# 沉睡用户:全表最大时间(今天)-最近登录>=7 and 全表最大时间(今天)-最近登录<=29
# 流失用户:全表最大时间(今天)-最近登录>=30
# 忠实用户:全表最大时间(今天)-最近登录<7 and 全表最大时间(今天)-注册时间>=7
故首先要找出每个用户的注册时间、最近登录时间、全表最大时间(作为今天),然后根据题意对每个用户进行分级,最后分组求出每个级别的人数并除以总用户数(select count(distinct uid) from tb_user_log),即可得出每个级别的占比情况
with t1 as(
select
uid
,(select max(date(in_time)) from tb_user_log) as max_intime # 全表最大时间(今天)
,max(date(in_time)) as max_in_time # 每个用户登录的最大时间(最近登录)
,min(date(in_time)) as min_in_time # 每个用户登录的最小时间(注册时间)
from
tb_user_log
group by
uid
),t2 as(
select
uid,
case
when datediff(max_intime,min_in_time)<7 then '新晋用户'
when datediff(max_intime,max_in_time)>=7 and datediff(max_intime,max_in_time)<=29 then '沉睡用户'
when datediff(max_intime,max_in_time)>=30 then '流失用户'
else '忠实用户'end user_grade
from
t1
group by
uid
)
select
user_grade
,round(count(uid)/(select count(distinct uid) from tb_user_log),2) ratio
from
t2
group by
user_grade
order by
ratio desc
全部评论
相关推荐
01-02 17:26
辽宁对外经贸学院 产品运营
合适才能收到offe...:项目岗是什么岗?我看你有段好像跟策划运营相关,如果找运营的话第三段经历写详细点儿。
个人建议是把自我评价删了换成专业技能放在工作经验上或者下面。学生会那个也可以删,把第一个包装成店铺运营,写4-6给点。第三个也是写4-6个点。注意工作内容➕部分数据。
投递的时候BOS招呼用语改一下,换成我有xx工作经验,熟练掌握xx技能样式,也可以简历截图然后直接发送。 点赞 评论 收藏
分享
点赞 评论 收藏
分享