2009-05-17 58 views
1

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

回答

3

关闭我的头顶......(MYSQL)

declare @endTime datetime; 
select @endTime=timestamp from data where [email protected] 
select 
    * 
from 
    data 
where 
    timestamp<[email protected] and timestamp>ADDDATE(@endTime,INTERVAL -1 DAY) 

(T-SQL)

declare @endTime datetime2; 
select @endTime=timestamp from data where [email protected] 
select * from data where timestamp<[email protected] and timestamp>dateadd(d,-1,@endTime) 

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

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'