2012-10-14 85 views
1

我想要做的事情:Mysql,根據日期選擇行

選擇日期= 2012-10-14的行,然後顯示在該行之後的4行。求助

2012-10-14 was very sunny. 
2012-10-15 rained all day. 
2012-10-16 whatever. 
2012-10-17 column #2 
2012-10-18 column #2 

感謝:所以從這個名單

2012-10-12 column #2 
2012-10-13 column #2 
2012-10-14 was very sunny. 
2012-10-15 rained all day. 
2012-10-16 whatever. 
2012-10-17 column #2 
2012-10-18 column #2 
2012-10-19 rained all day. 
2012-10-20 whatever. 
2012-10-21 column #2 
2012-10-22 column #2 

它會返回這一點。

PS:在數據庫中週末沒有數據,所以有些日期將會丟失。

回答

5
SELECT * FROM my_table WHERE date >= '2012-10-14' ORDER BY date LIMIT 5 

請參閱sqlfiddle

1

此版本用於日期範圍而非固定行數。這是不完全清楚你想要哪一個。

select * from mytable where date_diff(date,'2012-10-14') <= 4 and date >= '2012-10-14'; 
+1

在這種情況下,我會試着做一些更明確的事情:'2012年10月14日至2012年4月4日和4日期間'。 – eggyal