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