Как получить данные через n интервал времени - PullRequest
0 голосов
/ 28 мая 2019

У меня есть данные, хранящиеся каждые 1 секунду на сервере sql, мне нужно получать данные каждые 1 или 2 минуты, а не секунд, как я могу получать данные каждые 2 минуты, используя SQL?

here is an example

here is sql code

Ответы [ 2 ]

1 голос
/ 28 мая 2019
select *
from
(
    select *, 
       datepart(minute, yourDate) mn, 
       row_number() over(partition by datepart(minute, yourDate) order by yourDate) rn
    from yourTable
) x
where (mn % 2) = 0
    and rn = 1
0 голосов
/ 28 мая 2019

Я бы подошел к этому как:

select t.*
from (select t.*,
             row_number() over (partition convert(date, datecol), datepart(hour, datecol), datepart(minute, datecol) / 2
                                order by datecol
                               ) as seqnum
      from t
     ) t
where seqnum = 1;

. partition by разбивает данные на группы по две минуты каждая (это делает / 2).Затем логика возвращает первую запись в каждой группе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...