【问题标题】:How to fetch 3 minute interval data using Mysql query如何使用 Mysql 查询获取 3 分钟间隔数据
【发布时间】: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。

【问题讨论】:

    标签: mysql sql date select where-clause


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2014-01-04
      • 1970-01-01
      • 2018-12-25
      • 2019-09-07
      • 1970-01-01
      • 2011-02-17
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多