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;