题解 | #牛客每个人最近的登录日期(三)#
牛客每个人最近的登录日期(三)
http://www.nowcoder.com/practice/16d41af206cd4066a06a3a0aa585ad3d
次日留存率=在第一天登录后第二天还登录的人数/第一天登录的人数
第一种
select round(
count(distinct l1.user_id)/( select count(distinct user_id) from login)
, 3)
from login l1
inner join (
select user_id, min(date) as date -- 找出第一次时间
from login
group by user_id
) l2 on l1.user_id=l2.user_id and l1.date=DATE_ADD(l2.date, INTERVAL 1 DAY) -- 次日时间第二种:
select round(
count(distinct l1.user_id) / t.cnt_total, 3
)
from login l1
inner join login l2 on l1.user_id=l2.user_id and date(l2.date)-date(l1.date)=1 -- 间隔一天的日期
inner join (
select count(distinct user_id) as cnt_total -- 找到首次访问的人数
from login
) as t
OPPO公司福利 1135人发布