Вы пытаетесь сделать так?- вы можете использовать Datepart , чтобы получить номер недели и сортировать по нему.
select
count(*),
date(visit_date),
DATE_FORMAT(visit_date,"%a")
from
visits
group by
date(visit_date)
order by
datepart(yyyy,visit_date),
datepart(wk,visit_date),
count(*)