[英]Select records in next 30 minutes
我的queue
MySQL 表中有以下結構:
id | post_id | datetime_requested
我的表里有記錄。
1 | 1234 | 2021-10-01 11:20:00
我想每 30 分鍾運行一次SQL 查詢,以獲取接下來30 分鍾內的任何記錄。
因此,如果腳本在 11:00:00 運行,它應該獲取上述記錄。
以下正確獲取記錄:
SELECT * FROM queue WHERE datetime_requested >= ('2021-10-01 11:00' + interval 30 minute);
但這也適用,當它不應該時:
SELECT * FROM queue WHERE datetime_requested >= ('2021-10-01 10:00' + interval 30 minute);
這是為什么?
您的第二個查詢在10:30
之后返回帶有datetime_requested
的記錄。 這就是為什么您會獲得11:30
的行,因為它符合您的條件。
也許嘗試使用BETWEEN
:
SELECT *
FROM queue
WHERE datetime_requested BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 30 MINUTE)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.