题解 | #计算每个人的平均使用周期#
计算每个人的平均使用周期
https://www.nowcoder.com/practice/8487dea5a48f4d14a4b7f69ee6f4c7cc
#第一次登录到当前天的时间间隔:当前天日期-第一次用户登录日期
# 平均活跃天数(用户登录次数/(当前天日期-第一次用户登录日期))
# 每周平均活跃天数(7*用户登录活跃次数/(当前天日期-第一次用户登录日期))
# 注意这里取该周最大日期作为当前天:2022-08-22 注意用户可能一天登录多次 但是一天活跃次数只能算一次,进行去重操作
# 第一次用户登录日期取用户最小登录日期
select
uid uid,
round(7*t1.login_num/datediff(t2.cur_date,t1.first_login_date),2) active_period
from(
select
uid,
min(login_date) first_login_date,
count(distinct login_date) login_num
from
user_login_tb
group by uid
order by uid asc
) t1
join (
select
max(login_date) cur_date
from
user_login_tb
) t2 on 1