mysql最接近的时间_mysql-选择最接近时间戳的行

我有一个表,看起来像以下内容-本质上包含时间戳以及一些其他列:

WeatherTable

+---------------------+---------+----------------+ +

| TS | MonthET | InsideHumidity | .... |

+---------------------+---------+----------------+ |

| 2014-10-27 14:24:22 | 0 | 54 | |

| 2014-10-27 14:24:24 | 0 | 54 | |

| 2014-10-27 14:24:26 | 0 | 52 | |

| 2014-10-27 14:24:28 | 0 | 54 | |

| 2014-10-27 14:24:30 | 0 | 53 | |

| 2014-10-27 14:24:32 | 0 | 55 | |

| 2014-10-27 14:24:34 | 9 | 54 | |

.......

我正在尝试制定一个SQL查询,该查询以一定的任意粒度(例如,每15秒)返回某个时间范围内的所有行(这里没有问题).该数字始终以秒为单位,但不限于小于60的值.为了使情况更加复杂,时间戳不一定取决于所需的粒度,因此,不是简单地选择14:24:00的时间戳的情况. ,14:24:15、14:24:30等-时间戳记与每个值最接近的行需要包含在结果中.

例如,如果开始时间为14:24:30,结束时间为14:32:00,并且粒度为130,则理想时间为:

14:24:30

14:26:40

14:28:50

14:31:00

但是,对于每个时间而言都可能不存在时间戳,在这种情况下,应选择时间戳与那些理想时间戳中的每个时间戳最接近的行.如果两个时间戳距离理想时间戳相等,则应选择较早的一个.

该数据库是Web服务的一部分,因此目前我只是忽略SQL查询中的粒度,并稍后在(Java)代码中过滤掉不需要的结果.但是,就内存消耗和性能而言,这似乎并不理想.

有任何想法吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值