select count(device2) / count(device1) as avg_ret from ( select distinct t1.device_id as device1, t1.date as date1, t2.device_id as device2, t2.date as date2 from question_practice_detail t1 left join question_practice_detail t2 on t1.device_id = t2.device_id and datediff(t2.date, t1.date) = 1 order by t1.device_id, t1.date ) t