mysql - Access mysql 使用所选行获取相邻记录?

标签 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。

最佳答案

我会考虑使用 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

关于mysql - Access mysql 使用所选行获取相邻记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10748278/

相关文章:

javascript - 如何正确执行从react-native到express.js和mySQL后端的POST请求

javascript - 我的代码中的 Jquery 删除行表错误

php - MYSQL SELECT语句中关于数字和字母的排序问题

Angular 2选择(更改)事件,不更新下拉列表中的值

数据库查询中的 MYSQL 语法错误

mysql - MySQL 主从复制的 HAProxy

mysql - 第二个内部连接 double 计数结果

sql - Oracle 10 何时打开 UTL_MAIL 连接

sql - ORACLE SQL 用数组按列名排序

sql-server - 在一个查询中查找多个最大日期