代码之家  ›  专栏  ›  技术社区  ›  Corban Brook

如何从行偏移中选择最后24小时的行

  •  1
  • Corban Brook  · 技术社区  · 16 年前

    我试图从MySQL中存储的数据集计算24小时rms(均方根)。我需要获取在特定行偏移之前24小时内发生的最后24小时的点。例如,如果我想计算ID1250行(时间戳为2007年6月7日午夜)的24小时rms,我需要得到它和2007年6月6日午夜之间发生的所有点。

    2 回复  |  直到 16 年前
        1
  •  3
  •   spender    16 年前

    从我的头顶上。。。(MYSQL)

    declare @endTime datetime;
    select @endTime=timestamp from data where id=@rowId
    select 
        * 
    from 
        data 
    where 
        timestamp<=@endtime and timestamp>ADDDATE(@endTime,INTERVAL -1 DAY)
    

    (T-SQL)

    declare @endTime datetime2;
    select @endTime=timestamp from data where id=@rowId
    select * from data where timestamp<=@endtime and timestamp>dateadd(d,-1,@endTime)
    

        2
  •  2
  •   Rômulo Ceccon    16 年前

    您可以直接对某些集合使用聚合函数:

    select
      sqrt(sum(pow(my_value,2))/count(*))
    from
      my_table
    where
      my_date between '2007-06-06 00:00:00' and '2007-06-07 00:00:00'