Pertama-tama Anda harus mencari tahu berapa hari yang lalu Senin lalu, menggunakan DAYOFWEEK
fungsi, lalu kurangi dari tanggal saat ini -
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)
Saya tidak 100% yakin tentang angka +/- di sini, Anda seharusnya bisa menyelesaikannya dari sini
EDIT:Jika ini hanya akan dijalankan pada hari Minggu di akhir periode, ada versi yang jauh lebih sederhana -
SELECT * from table
WHERE date >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
AND date <= CURDATE()