2014-11-03 132 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

相關問題