sql取离更新时间5分钟内的数据

sql取离更新时间5分钟内的数据,第1张

sql取离更新时间5分钟内的数据

mysql 怎么一次性取出一天内每5分钟为一个时间点的所有数据

mysql备份:

mysqldump -u username -p dbname >backupname.sql

mysql恢复:

mysql -u root -p dbname <backupname.sql

所以你可以写个shell脚本,脚本中执行mysql备份命令,然后把shell脚本加入crontab定时任务中就可以完成每天自动备份数据库了

你是这个意思吧:

查询这样的一条数据:存在另外一条数据的时间项和它的时间项相差在5分钟以内。

这个主要是处理日期函数,我用Oracle数据库做,

首先建立测试表:

create table test26

(

mydate date

)

然后插入测试数据:

insert all

into test26 values(to_date('2010-04-01 12:00:00','yyyy-mm-dd hh24:mi:ss'))

into test26 values(to_date('2010-04-01 12:03:00','yyyy-mm-dd hh24:mi:ss'))

into test26 values(to_date('2010-04-02 12:00:00','yyyy-mm-dd hh24:mi:ss'))

into test26 values(to_date('2010-04-03 14:00:00','yyyy-mm-dd hh24:mi:ss'))

into test26 values(to_date('2010-04-03 14:01:00','yyyy-mm-dd hh24:mi:ss'))

into test26 values(to_date('2010-04-03 14:02:00','yyyy-mm-dd hh24:mi:ss'))

into test26 values(to_date('2010-04-06 12:00:00','yyyy-mm-dd hh24:mi:ss'))

into test26 values(to_date('2010-04-07 11:00:00','yyyy-mm-dd hh24:mi:ss'))

into test26 values(to_date('2010-04-07 11:04:59','yyyy-mm-dd hh24:mi:ss'))

into test26 values(to_date('2010-04-08 12:00:00','yyyy-mm-dd hh24:mi:ss'))

select * from dual

然后查询这样的一条数据:存在另外一条数据和它相差在5分钟以内。

select to_char(t1.mydate,'yyyy-mm-dd hh24:mi:ss') from test26 t1

where exists

(

select * from test26 t2 where

((t1.mydate-t2.mydate)<(1/(24*12)) and t1.mydate>t2.mydate)

or ((t2.mydate-t1.mydate)<(1/(24*12)) and t2.mydate>t1.mydate)

and t1.mydate<>t2.mydate

)

order by t1.mydate

结果为:

TO_CHAR(T1.MYDATE,'YYYY-MM-DDHH24:MI:SS')

2010-04-01 12:00:00

2010-04-01 12:03:00

2010-04-03 14:00:00

2010-04-03 14:01:00

2010-04-03 14:02:00

2010-04-07 11:00:00

2010-04-07 11:04:59

不同数据库的日期处理函数不一样,还有什么问题给我留言,OK?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10030965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存