आप सप्ताहांत ()
जो इस प्रश्न को फिर से लिखने के लिए सप्ताह के दिन (0 =सोमवार, 6 =रविवार) और कुछ सरल गणित का प्रतिनिधित्व करने वाली संख्या देता है।
चयनित तिथि से उस कार्यदिवस को घटाएं जिसे आप सप्ताह शुरू करना चाहते हैं (आपके मामले में 4 =गुरुवार) चयनित तिथि से, 7 जोड़ें और शेष 7 से लें। यह आपको अपनी सीमा की शुरुआत प्राप्त करने के लिए घटाने के लिए दिनों की संख्या देगा।
सीमा की समाप्ति तिथि की गणना करने के लिए एक समान तर्क लागू होता है।
SELECT *
FROM transactions
WHERE DATE(transactionDate)
BETWEEN DATE_SUB(DATE(NOW()), INTERVAL (WEEKDAY(NOW()) - 4 + 7) % 7 DAY)
AND DATE_ADD(DATE(NOW()), INTERVAL 6 - (WEEKDAY(NOW()) - 4 + 7) % 7 DAY)
ORDER BY transactionDate DESC;
किसी भिन्न प्रारंभ तिथि के लिए, कार्यदिवस को 4
. से बदलें क्वेरी में।