⑴ sql 時間間隔 可設如1分鍾5分鍾等,查詢相關數據。
假如表名:tbl;時間欄位名:dt
select * from tbl
where dt between cast('2012-10-10 12:01:00' as datetime) and cast('2012-10-11 11:05:00' as datetime) -- 在 2012.10.10.12:1:00 和 2012.10.11.14:5:00 之間
and datediff(minute,cast('2012-10-10 12:01:00' as datetime),dt) %7 = 0 --間隔7分鍾
⑵ mysql如何查詢時間間隔大於5分鍾的數據(時間從現在往前推)
selectdtime,namefrom
(
selectname,dtime,rank,ptime,ptime2from(
selectcg_tmp.*,@rownum:=@rownum+1,
if(TIMESTAMPDIFF(MINUTE,@ptime,cg_tmp.dtime)<5,@rank:=@rank,@rank:=@rank+1)asrank,
@ptime2:=cg_tmp.dtimeasptime2,
if(TIMESTAMPDIFF(MINUTE,@ptime,cg_tmp.dtime)<5,@ptime=null,@ptime:=@ptime2)asptime
from
(
select*from`timerecord`orderbydtime
)cg_tmp,
(select@rownum:=0,@ptime:=null,@rank:=0,@ptime2:=null)a
)result
)a
whereptimeisnotnull
以前回答過類似的時間間隔問題。
⑶ SQL,按5分鍾統計發送數量,SQL語句怎麼寫呀
最簡單方法,把datetime轉成float型(單位整數部分為天),然後乘24*60/5,就是整數部分是5分鍾了,然後取整就行了
用這種方法做,隨便你算幾分鍾的分組都能算
如:
select getdate(),cast(floor(cast(getdate() as float)*24*60/5)*5/60/24 as smalldatetime)
----------------------- -----------------------
2010-09-16 19:19:34.547 2010-09-16 19:15:00
(1 行受影響)
select getdate(),substring(convert(varchar,cast(floor(cast(getdate() as float)*24*60/5)*5/60/24 as smalldatetime),120),12,5)
----------------------- ----------
2010-09-16 19:23:47.340 19:20
(1 行受影響)
那麼你的這個問題
select
substring(convert(varchar,cast(floor(cast(sendtime as float)*24*60/5)*5/60/24 as smalldatetime),120),12,5)
,sum(concount)
from 表名
group by substring(convert(varchar,cast(floor(cast(sendtime as float)*24*60/5)*5/60/24 as smalldatetime),120),12,5)
⑷ sql取離更新時間5分鍾內的數據
sql取離更新時間5分鍾內的數據
mysql 怎麼一次性取出一天內每5分鍾為一個時間點的所有數據
mysql備份:
mysqlmp -u username -p dbname > backupname.sql
mysql恢復:
mysql -u root -p dbname < backupname.sql
所以你可以寫個shell腳本,腳本中執行mysql備份命令,然後把shell腳本加入crontab定時任務中就可以完成每天自動備份資料庫了