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

时间:2009-05-17 18:54:03

标签: database mysql

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

2 个答案:

答案 0 :(得分:3)

脱离我的头顶......(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)

您可能需要调整日期时间类型以匹配您的数据。

答案 1 :(得分:2)

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

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'