得到最近的日期mysql

时间:2012-10-26 00:11:33

标签: php sql mysqli

我的桌子上有以下日期。如何找到今天最近的日期(如果今天的日期在那里)或者今天的日期是否在那里,那么最近的过去日期是什么?

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解决方案。

2 个答案:

答案 0 :(得分:11)

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

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

答案 1 :(得分:2)

向查询添加ORDER BY语句。以下将按日期对行进行排序,最新的位于顶部,最旧的位于底部。

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