select avg(if(datediff(date2, date)=1, 1, 0)) as avg_ret from ( select distinct device_id, date, lead(date) over ( partition by device_id order by date ) as date2 from ( select distinct device_id, date from question_practice_detail ) as unique_id_date ) t