mysql 按时间间隔查询 例如25分中一条

新手上路,请多包涵

问题描述

有一个传感器 5秒录入一次数据 sensor表有个createTime字段
数据太多向按时间抽取 用户可以自定义事件间隔,#{time}可以传入

问题出现的环境背景及自己尝试过哪些方法

因为我们一般就取历史数据30天,我尝试用取余的方法
select ID, ALARMID, SENSORID, ALARMNAME, ROOMNAME, SENSORMODEL, SENSORNUM, REMARK,

CREATETIME,VALUE,MINUTE(CREATETIME) a
from fire_alarm_history
where SENSORID = #{sensorId,jdbcType=VARCHAR}
and MINUTE(CREATETIME)% #{time,jdbcType=INTEGER} =0 
group by a
order by CREATETIME desc

但是 只能是60的公约数 才可以例如11分钟就 不行了 只能去0 11 22 33 44 55 分钟的

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 1.9k
1 个回答

思路还可以,UNIX_TIMESTAMP(date) 用秒取余呗,不过可能判断就得是范围而不是一个整数了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题