从mysql中的当前日期获取最后的第5天日期

时间:2014-11-03 06:21:11

标签: mysql date

我有下表:

+----+-------------+
| ID | startDate   |
+----+-------------+
|  1 | 2014-10-29  |
|  2 | 2014-10-29  |
|  3 | 2014-10-28  | 
|  4 | 2014-10-28  |
|  5 | 2014-10-28  |  
|  6 | 2014-10-26  |  
|  7 | 2014-10-25  | 
|  8 | 2014-10-23  | 
|  9 | 2014-10-22  | 
+----+-------------+

从这张表中,我想从当前日期获取最后一天的startDate。日期可能不连续我的意思是在这个表中我的数据不会每天进入,但每当我想从今天开始的第5天检查它应该像'2014-10-23'那样返回。请帮帮我。

2 个答案:

答案 0 :(得分:1)

您的查询将如下所示

select startDate
from table_name
where startDate <= CURDATE()
order by startDate desc limit 5,1

select startDate
from table_name
where startDate <= CURDATE()
order by startDate desc limit 1 offset 5

答案 1 :(得分:1)

使用限制

SELECT startDate FROM table WHERE startDate <= CURDATE() ORDER BY startDate LIMIT 5,1

这意味着

1)获取开始日期小于当前日期的记录,然后

2)从记录5开始返回一条记录(意味着得到第5条记录)。