题解 | #计算每个人的平均使用周期#

计算每个人的平均使用周期

https://www.nowcoder.com/practice/8487dea5a48f4d14a4b7f69ee6f4c7cc

#吐槽VIP真烂到家了,你要这么跟我说题意,我肯定会哪怕你按照每周平均活跃天数(7*用户登录活跃次数/(当前天日期-第一次用户登录日期))我也会啊,什么玩意啊。
#第一次登录到当前天的时间间隔:当前天日期-第一次用户登录日期
# 平均活跃天数(用户登录次数/(当前天日期-第一次用户登录日期))
# 每周平均活跃天数(7*用户登录活跃次数/(当前天日期-第一次用户登录日期))
# 注意这里取该周最大日期作为当前天:2022-08-22 注意用户可能一天登录多次 但是一天活跃次数只能算一次,进行去重操作
# 第一次用户登录日期取用户最小登录日期
with tiaojian as (
select 
uid,
datediff((select max(login_date) from user_login_tb),min(login_date)) as diff
from user_login_tb
group by uid
)

select 
t.uid,
round(
7*count(distinct ub.login_date)/diff,2) as active_period
from tiaojian t inner join user_login_tb ub 
on t.uid=ub.uid
group by t.uid
order by t.uid

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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