2012-10-14 88 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