Je moet eerst berekenen hoeveel dagen geleden afgelopen maandag was, met behulp van de DAYOFWEEK
functie, trek die dan af van de huidige datum -
SELECT * from table
WHERE date >= DATE_SUB(CURDATE(),INTERVAL MOD(DAYOFWEEK(CURDATE())-2,7) DAY)
AND date <= DATE_ADD(CURDATE(), INTERVAL MOD(7 - (DAYOFWEEK(CURDATE()) - 1), 7) DAY)
Ik ben niet 100% zeker van de +/- getallen hier, maar je zou hier wel uit moeten kunnen komen
EDIT:als dit alleen op zondag aan het einde van de periode wordt uitgevoerd, is er een veel eenvoudigere versie -
SELECT * from table
WHERE date >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
AND date <= CURDATE()