select num_2/num_1 as avg_res
from
(select count(distinct b.device_id,b.date) as num_2
from question_practice_detail a
join question_practice_detail b
on a.device_id=b.device_id
where b.date-a.date=1) t1,(select count(distinct device_id,date) as num_1 from question_practice_detail) t2