如何在n个时间间隔后获取数据

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (6)

我在sql server中每1秒存储一次数据,我需要获取每1或2分钟间隔而不是秒的数据,如何使用SQL每2分钟获取一次数据? 这是一个例子

这是sql代码

提问于
用户回答回答于
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
用户回答回答于

我会这样做:

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这样)。然后逻辑返回每组中的第一条记录。

扫码关注云+社区

领取腾讯云代金券