with t1 as (
select user_id, min(date) as first_login
from login
group by user_id
)
select round(
sum(case when login.user_id is not null then 1 else 0 end) / count(1), 3
) as p
from t1 left join login
on t1.user_id=login.user_id and datediff(login.date, first_login)=1

京公网安备 11010502036488号