MySQL-এ বর্তমান তারিখ থেকে গত নির্দিষ্ট দিনের রেকর্ড বের করতে DATE_SUB() এবং NOW() ফাংশন ব্যবহার করুন।
সিনট্যাক্স
SELECT * FROM yourTable
WHERE yourDateTimeCol BETWEEN DATE_SUB(DATE(NOW()), INTERVAL 2 DAY)
AND DATE_SUB(DATE(NOW()), INTERVAL 1 DAY);
উদাহরণ
CREATE TABLE get2daysAgoDemo (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(20),
PostDateTime DATETIME
);
INSERT INTO get2daysAgoDemo (Name, PostDateTime) VALUES
('Larry', NOW()), ('Mike', '2019-02-13'), ('Sam', '2019-01-31'),
('Bob', '2019-02-14'), ('David', '2019-02-12'), ('Carol', '2019-02-11');
ধরে নিই আজ 2019-02-15। গত ২ দিন (১৩ ও ১৪ ফেব্রুয়ারি) এর রেকর্ড:
SELECT * FROM get2daysAgoDemo
WHERE PostDateTime BETWEEN DATE_SUB(DATE(NOW()), INTERVAL 2 DAY)
AND DATE_SUB(DATE(NOW()), INTERVAL 1 DAY);
আউটপুট
+----+------+---------------------+ | Id | Name | PostDateTime | +----+------+---------------------+ | 2 | Mike | 2019-02-13 00:00:00 | | 4 | Bob | 2019-02-14 00:00:00 | +----+------+---------------------+
বিকল্প:Relative Time Window
-- গত ২ দিন (৪৮ ঘণ্টা)
WHERE PostDateTime >= DATE_SUB(NOW(), INTERVAL 2 DAY)
-- ক্যালেন্ডার দিন ভিত্তিক (আজ বাদ দিয়ে গত ২ দিন)
WHERE DATE(PostDateTime) BETWEEN DATE_SUB(CURDATE(), INTERVAL 2 DAY)
AND DATE_SUB(CURDATE(), INTERVAL 1 DAY)