select week_begin, round(count(*)/count(distinct uid),2) as avg_times from (select uid,date_sub(login_date,interval (weekday(login_date)) day) as week_begin from user_login_tb) a group by week_begin order by week_begin;