访问mysql使用选定的行获取相邻记录?

时间:2012-05-25 03:54:35

标签: mysql sql select

我有以下结构的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。

1 个答案:

答案 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