select count(qpd2.date)/count(qpd1.date) avg_ret from ( select distinct device_id, date from question_practice_detail ) qpd1 left join ( select distinct device_id, date from question_practice_detail ) qpd2 on qpd1.device_id = qpd2.device_id and qpd2.date = date_add(qpd1.date, interval 1 day)