我想查询出从开始时间到结束时间这段时间内,每隔五分钟的数据。也就是查询在这段时间内,每隔五分钟的数据。
select count(*) from SYS where RESULT_CODE = '0' and startTime>startTime and endTime<endTime;高手,请教  急啊。。 

解决方案 »

  1.   

    是不是要存储过程啊?startTime > (starttime+ i* 5m) and endTime <(starttime + (i+1)5m)  时间函数不记得了通过循环来动态改变条件, 
      

  2.   

    Create function getcount(@sTime datetime,@eTime datetime)
    Returns varchar(255)
    as
    Begin
    Declare  @tmpeTime   DateTime
    Declare  @tmpsTime  DateTime,@ countresult int, @allresult varchar(255)
    Set  @tmpeTime=datediff(@sTime,5)
    Set  @ tmpsTime=@sTime;
    While @tmpeTime<@eTime
    begin
    Select @countresult=count(*)  from  SYS  where  result_code=’0’ and (startTime>@ tmpsTime and endTime < @ tmpsTime)
    Set @ tmpsTime=@ tmpeTime
    Set @ tmpeTime=dateadd(n,5,@ tmpeTime)       
    Set @allresult=@allresult +”|”+convert(varchar(5),@countresult)
    End
    End
    Return @allresult
    end
    没运行过,边想边写的
      

  3.   

    同意2楼,先把数据都捞出来,然后用java去分析,在db里效率太差