我有一个关于MYSQL查询的问题,以及我如何处理获取当前日期的最近日期范围...
所以我有id,from_date,until_date形式的记录。
鉴于当前日期,我想选择不仅包括当前日期的记录,而且如果有多个记录满足要求,那么其记录的日期和当前日期最接近当前日期日期,例如:
如果:
record1: from_date1, until_date1
record2: from_date2, until_date2
from_date1 <= current_date <= until_date1
from_date2 <= current_date <= until_date2
from_date1 >= from_date2 and until_date1 <= until_date2
应该选择 record1
......
我正在寻找一种选择查询语法来实现这一目标......
我希望我的榜样足够清楚......任何帮助都会非常感激!
谢谢! :)
彼得。
答案 0 :(得分:2)
SELECT from_date, until_date
FROM table
WHERE current_date BETWEEN from_date
AND until_date
ORDER BY TIMESTAMPDIFF(SECOND, from_date, until_date)
LIMIT 1
选择符合条件的所有记录;最后一个不符合100% - 如果from_date2
非常接近current_date
,但until_date2
距离那么远,那么时间跨度会更大?