Ⅰ sql数据库数据库记录着最近一个月的记录,能否通过查询每隔5分钟插入的条数。
建议这个表加一个字段是插入时间的字段,然后根据这个字段来判断就可以啦
Ⅱ 如何查询股票5分钟最小振幅排行
要看你是用什么软件我才好说
Ⅲ 请教SQL语句,统计小于5分钟内的订单数量有多少
业务比较复杂可以写一个存储过程
存储过程内部 首先while循环记录
取出前一条记录与后一条记录的时间 差值 如 :
select datediff(Minute,'2012-11-16 12:23:21.173','2012-11-16 12:25:21.173')
判断 差值如果小于5 就算一单
这就是思路
Ⅳ 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
以前回答过类似的时间间隔问题。
Ⅳ MYSQL 查询5分钟前的数据 必采纳!
如果开启了mysql的更新日志,日志文件会记录每一次更新的语句,自然可以回溯了
如12:00,你插入了一条记录,12:02某人对这项记录做了修改,12:03又有一个人做了修改。你想回到最开始,那么就是你12:00插入的语句了。
代码么?这个没有代码,自己打开日志文件看。至于日志文件再哪儿,这里篇幅有限,你可以搜一下mysql 日志文件,搜索结果会比这里回答更详细
PS:更新日志由于会记录每一条更新语句,所以会导致mysql速度变慢,而且磁盘占用也很大。所以mysql不推荐开启这种日志,默认也是关闭的。具体如何开启,请自行搜索,这里不详述
Ⅵ 股市怎么查询5分钟内涨跌排行榜
在股票交易软件中用快捷键可以看到个股1分钟、3分、5分钟快速涨跌幅排名。具体采用哪个周期,可以在排名中设置。
打开交易软件,80+ENTER是所有股票综合排名;81+ENTER是沪市A股排名,82+ENTER是沪市B股排名;83+enter是深市A股排名,84+ENTER 是深市B股排名。
涨幅就是指目前这只股票的上涨幅度。
涨幅的计算公式:涨幅=(现价-上一个交易日收盘价)/上一个交易日收盘价*100%
例如:某只股票价格上一个交易日收盘价100,次日现价为110.01,就是股价涨幅为(110.01-100 )/100*100%=10.01%.一般对于股票来说 就是涨停了!如果涨幅为0则表示今天没涨没跌,价格和前一个交易日持平。如果涨幅为负则称为跌幅。
比如:一支股票的涨幅是:10%、-5%等 。
Ⅶ 如何用SQL语句筛选相差5分钟以内的所有数据
你是这个意思吧:
查询这样的一条数据:存在另外一条数据的时间项和它的时间项相差在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 al
然后查询这样的一条数据:存在另外一条数据和它相差在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?
Ⅷ 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分钟
Ⅸ 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)