我希望找到一个最佳的约会时间,之前有20分钟的空闲时间,并且过去至少还有20分钟。 所以
在数据库中:
如果我在11:15跑步,我想得到2014-03-24 11:30,因为11-30-11:10 = 20和12:00-11:30> = 20.
所以,我需要在数据库中选择一个日期时间而不是一行(并在以后插入)。我需要找到数据库中前后20-20分钟空白期的最近日期。否则,我正在寻找数据库中的40分钟洞并获得中间位置。
这可以在mysql查询中解决吗? 谢谢:))
答案 0 :(得分:1)
要获取超过20分钟前的最新时间戳:
select *
from table t
where datetimefield < now() - interval 20 minutes
order by datetimefield desc
limit 1;
如果你只想限制20分钟后没有时间戳的那些:
select *
from table t
where datetimefield < now() - interval 20 minutes and
not exists (select 1
from table t2
where t2.datetimefield between t.datetimefield and t.datetimefield + interval 20 minutes
)
order by datetimefield desc
limit 1;