我试图在给定日期之前检索具有最新日期的条目,如果它不存在,则在该给定日期之后最快地进行。
我尝试使用谷歌搜索,但我无法找到这种情况
答案 0 :(得分:2)
您可以使用order by
和limit
:
select t.*
from table t
order by (datecol < @date) desc,
(case when datecol < @date then datecol end) desc,
datecol asc
limit 1;
答案 1 :(得分:0)
在给定日期之前的最新消息 -
select * from table where date_column<given_date order by date_column desc limit 1
现在检查结果,如果没有行返回,则在给定日期后执行以下查询:#/ p>
select * from table where date_column>given_date order by date_column limit 1