2014-11-03 87 views
1

我有如下表:摆脱当前日期最后5天的日期在MySQL

+----+-------------+ 
| 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 | 
+----+-------------+ 

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

+1

嗨@Poles:照顾检查答案? – 2014-11-03 07:07:29

回答

1

使用极限

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

这意味着

1)获取记录的开始日期少比现在租金日期,然后

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

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 
+0

@jQueryAngryBird他说,从今天开始的最后第五天,根据他的描述,收益率为'2014-10-23' – 2014-11-03 06:42:20