MySql数据库查询每半小时内最新一组数据

如何查询出每半小时最新的一组数据,取出并插入到新的表中?求高手解答!谢谢!

https://blog.csdn.net/zmxiangde_88/article/details/8011661,按照插入时间排序,然后insert into select就可以了,程序需要用到计时器,最好记录一下最后的时间,以免有重复数据
或者https://www.cnblogs.com/phpper/p/7587031.html

不知道你最新的数据和旧数据的定义,例如:数据库原来就有1,2,3,4,5,6,7,8,9条数据,然后在半个小时内又插入了10,11,12,13,14,15,这些数据,你是要最新的10,11,12,13,14,15呢,还是直接就只要最新的数据15

用crontab(计划任务)可以实现你的要求,设置好每半小时执行你的查询插入程序就可以了

用insert插入into select查询的复合操作语句就可以啦

不求采纳,只是对这个有个想法:
一、在总数据表中创建新的字段is_change,用以确认是否被更新
二、用户插入数据时,is_change为空
三、专门写一个程序每隔半小时,根据系统时间的getTime()返回的long值创建新表
四、查询数据表中is_change为空的记录,存储到新表中,同时将is_change更改为非空

这是我的数据库,id都是一样的 图片说明

数据库设计一个字段,用来记录insert 的时刻,做的程序写一个定时任务,每隔这个时间来查询数据库这个字段,判断下就知道了啊

思路是写一个脚本,用现在的时间减去插入数据的时间,如果发现减去后的时间小于半小时,就是最新的半小时内的数据。

METHOD :
SELECT * FROM table_name WHERE field name NOW()-INTERVAL 2 HOUR;

不知道楼主会Java么 直接写一个多线程将他弄成Daemon后台进程然后对数据库CRUD操作即可

记录主键。记录时间等

用数据库里面的定时任务不是很好吗 一般是要涉及到业务逻辑了 才尽可能用代码去实现

业务使用定时任务来完成,每半个小时触发一次;
获取系统时间,计算出半个小时之前的时间,将两个时间作为查询条件去查询这半个小时的数据即可。

我之前做类似的程序,是通过时间戳,然后通过java进行定时,每半小时 去去一次根据时间戳 order by 最新的值

问题解决了,我的解决方式是:1、数据库查询最新一组数值。 2、外嵌C#定时器函数。 对于我的现状目前最好的解决方式就是这种,用SQL语句设置在没半小时这种语法我在书本中没有查阅到。总之谢谢大家的回答,此贴终结。

SELECT
HOUR (ef.FORMDATE) AS HOUR,
FLOOR(MINUTE(ef.FORMDATE)/30) as M,
count(ef.ID) AS cnt
FROM
event_form ef
WHERE
ef.FORMDATE BETWEEN '2017-09-04 08:00:00'
AND '2017-09-04 17:00:00'
GROUP BY
HOUR (ef.FORMDATE),FLOOR(MINUTE(ef.FORMDATE)/30)
ORDER BY HOUR (ef.FORMDATE);
event_form:表,ef:别名,ef.formdate:时间字段,hour:时间函数,floor函数:向下取整,minute:分钟函数