繁体   English   中英

Select 记录在接下来的 30 分钟内

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM