आपकी अभिव्यक्ति ADDDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), 6-WEEKDAY(curdate()))
पिछले सप्ताह के दिन का केवल दिनांक भाग लौटाता है, इसलिए इस दिन के प्रारंभ के बाद का सभी डेटा शामिल नहीं है।
इसे हल करने के लिए आपके पास कुछ विकल्प हैं:
- बिना समय के आज तक का दौर बनाया गया:
SELECT *
FROM your_table
WHERE DATE(createdAt) BETWEEN
SUBDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), WEEKDAY(curdate())) AND
ADDDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), 6-WEEKDAY(curdate()));
- अगले दिन के साथ मजबूत कम कंडीशन का उपयोग करें:
SELECT *
FROM your_table
WHERE
createdAt >= SUBDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), WEEKDAY(curdate())) AND
createdAt < ADDDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), 7-WEEKDAY(curdate()));