获取最近的日期mysql



我的表中有以下日期。我如何找到今天的最接近日期(如果今天的日期存在),或者如果今天的日期不在,那么最近的日期?

2012-10-01          aa123
2012-10-02          aa43
2012-10-03          aa478
2012-10-04          aa40    
2012-10-05          aa54
2012-10-06          de34
2012-10-07          a5434
2012-10-08          r4t
2012-10-09          x34
2012-10-10          q23
2012-10-11          b53

因此,如果今天是'2012-10-07',则记录将为a5434。但是,如果缺少2012-10-07,则记录将是de34,它属于2012-10-06,因为那将是从今天起的最接近的。

我不确定从哪里开始,所以我还没有尝试过任何事情。需要SQL解决方案。

这很简单,只需获得最后一个日期< =当前日期:

$now = date("Y-m-d");
$sql = "SELECT * FROM date_table where date_field <= '$now' ORDER BY date_field DESC LIMIT 1 OFFSET 1";

向查询添加ORDER BY语句。以下将按日期订购行,最新的排在顶部,底部最古老。

SELECT `id`, `date` FROM `table` ORDER BY `date` DESC LIMIT 1;

最新更新