Как выбрать последние 24 часа строк из смещения строки - PullRequest
1 голос
/ 17 мая 2009

Я пытаюсь вычислить среднеквадратическое значение за 24 часа из набора данных, хранящегося в MySQL. Мне нужно получить последние 24 часа точек, которые появляются в течение 24 часов перед определенным смещением строки. Например, если бы я хотел вычислить среднеквадратичное значение для идентификатора строки 1250 с меткой времени 7 июня 2007 года в полночь, мне нужно было бы получить все точки, которые происходят между ним и 6 июня 2007 года в полночь.

Ответы [ 2 ]

3 голосов
/ 17 мая 2009

С макушки головы ... (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 голосов
/ 17 мая 2009

Вы можете использовать агрегатные функции напрямую для некоторого набора:

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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...