我有以下结构的mysql表。所有记录都是静态的,仅用于读取,并且已从CSV导入,因此所有年,月,日都按照我创建的顺序正确。 (不,此表中的ID列,因为我只按年,月和日访问数据)
mysql table 'daily'
year month day data
1990 01 01 xxxxxxxxxxxxx
1990 01 02 eeeeeeeeeeeee
1990 01 03 rrrrrrrrrrrrr
1990 01 04 ttttttttttttt
.
.
.
现在,我可以通过简单的select语句访问记录,如下所示
select * where year=1990 and month=1 and day=03 limit 1
但是如何选择查询行+3或任意数量的相邻行(查询行之前或之后)?如果有更好的解决方案,我不想使用ID。
答案 0 :(得分:1)
我会考虑使用DATE
类型而不是年,月和日的单独列。然后,您可以使用DATEADD
和相关功能查找所需的日期。
http://dev.mysql.com/doc/refman/5.1/en/datetime.html
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html