【问题标题】:mysql according to time interval query datamysql根据时间间隔查询数据
【发布时间】:2018-05-24 10:32:32
【问题描述】:

我有以下 MySQL 表:

我的要求是,以30分钟的时间间隔查询数据,不需要group by,这个概念,第一次遇到这种问题,怎样才能达到那种效果,上一个之间的间隔接下来是30分钟

【问题讨论】:

  • 不要发布数据是图片。将其发布为文本,并使用编辑器中的 markdown 对其进行格式化。
  • "我的要求是,每隔30分钟查询一次数据,不需要group by,"为什么不用group by?这是作业还是面试问题?
  • 这是我的作业
  • 对不起,我下次会注意的,

标签: mysql sql


【解决方案1】:

我认为这是你想要的:

select t.*
from t
where t.time = (select min(t2.time)
                from t t2
                where floor(to_seconds(t2.time) / (30 * 60)) = floor(to_seconds(t.time) / (30 * 60))
               );

【讨论】:

  • 你好,你的建议我采纳了,但是不能执行,不是sql语法错误,一直没有结果
  • 本意是 MySQL 语法。括号或其他内容可能存在问题,但那将是一个错字。
【解决方案2】:

前几天想到答案:

      SELECT  FROM_
      UNIXTIME(UNIX_TIMESTAMP(t.Time)- UNIX_TIMESTAMP(t.Time)%(15*60)) 
      AS timekey,DB33,Stream,`View`,Coil
      FROM (select DB33,Stream,`View`,Time,Coil from  running_check where    
     DB33=#{DB33} ORDER BY id desc  limit 10000)  as   t
      GROUP BY timekey

【讨论】:

  • 间隔15分钟
猜你喜欢
  • 1970-01-01
  • 2019-07-05
  • 2015-11-09
  • 1970-01-01
  • 1970-01-01
  • 2012-02-01
  • 2014-02-15
  • 2014-01-04
  • 2022-01-10
相关资源
最近更新 更多