0

嗨,我在 sql server 中有几个表,每 30 秒记录一次数据。显然过了一段时间有点笨重,我想做的是在过去 24 小时内每小时选择 1 个数据点并将其放入单独的表中以进行快速查询,所以我在 24 小时内每小时思考一次期间,一周内每天 2 次,一个月内每天一次。我在我们拥有的每个数据点上都记录了日期时间。

我想要这样的东西,在 24 小时内每小时一次

Select * from MiscTBL Where Date >= (( Currentdatetime - 24 hh )) group by hh

谢谢你的任何建议

此外,我正在使用 sql server management studio,如果这是一个自动更新过程,那就太好了,所以我有单独的表,我可以在更短的预量化时间段内更快地查询数据

4

1 回答 1

1

像这样的东西每小时会返回 1 个样本:

select *
from ActivityLog
where id in
    (select max(id) maxID
     from ActivityLog
     where activityDateTime between @startDateTime and @endDateTime
     group by DATEPART(hour, activityDateTime))

我会使用这个概念来构建一个存储过程来移动数据,然后我会安排它使用 SQL 代理作业根据需要经常运行。

于 2014-05-03T19:05:50.060 回答