如何使用 Mysql 查询获取 3 分钟间隔数据
Posted
技术标签:
【中文标题】如何使用 Mysql 查询获取 3 分钟间隔数据【英文标题】:How to fetch 3 minute interval data using Mysql query 【发布时间】:2020-10-16 05:16:36 【问题描述】:在数据库中,我们每隔一分钟就有一次数据,比如2020-01-01 9:00:00, 2020-01-01 9:01:00
......我们需要以 3 分钟间隔获取数据
例如,我们在数据库2020-01-01 9:00:00 to 2020-10-01 9:00:00
中有时间字段。我需要使用查询来获取给定的 3 分钟间隔,到目前为止,输出应该是
2020-01-01 9:00:00
2020-01-01 9:03:00
2020-01-01 9:06:00
如果我们从日期为2020-01-01 9:00:00
,到日期为2020-01-01 9:07:00
,并且间隔为3。
【问题讨论】:
【参考方案1】:一个选项使用timestamp_diff()
和算术:
select t.*
from mytable t
where
mydate >= '2020-01-01 9:00:00'
and mydate < '2020-01-01 9:07:00'
and timestampdiff(second, mydate, '2020-01-01 9:00:00') % (60 * 3) = 0
这通过确保开始日期和当前行上的日期之间的差异(以秒为单位)是 180 秒的倍数(即 3 分钟)来实现。
如果不是所有记录都有0
秒,您可以在第二部分稍稍松懈,并专注于分钟:
and timestampdiff(minute, mydate, '2020-01-01 9:00:00') % * 3 = 0
【讨论】:
以上是关于如何使用 Mysql 查询获取 3 分钟间隔数据的主要内容,如果未能解决你的问题,请参考以下文章
要求:oracle数据库,按照时间间隔2分钟查询数据,结果如第一行数据是13:55的数据,第二条就是13:57的
使用oracle,如何做到某个时间段内每间隔1分钟查询出一条记录?