select
sum(if(datediff(t1.next_date,t1.first_date) = 1,1,0)) / count(*) avg_ret
from(
select
device_id
,`date` first_date
,lead(date,1,null)over(partition by device_id order by date asc) next_date
from (
select device_id,`date`
from question_practice_detail
group by device_id,`date`
) tt
)t1
- 去重
- 计算第二天还在的 / 第一天的人

京公网安备 11010502036488号