Select today(), usr from
(
Select usr,
if(dt >= today()-interval 1 ‘week’, 1, 0) w1,
if(dt >= today()-interval 2 ‘week’ and dt < today()-interval 1 ‘week’, 1, 0) w2,
if(dt >= today()-interval 3 ‘week’ and dt < today()-interval 2 ‘week’, 1, 0) w3,
if(dt < today()-interval 3 ‘week’, 1, 0) w4
from tbl
Where dt >= today()-interval 4 ‘week’
) group by usr
Having max(w1) = 1 and max(w2) = 1 and max(w3) =1 and max(w4) = 1