您好我在sql server中有几个表每30秒记录一次数据。很明显,经过一段时间后会变得有点笨重,我想做的是在过去的24小时内每小时选择1个数据点并将其放入一个单独的表中以便快速查询,所以我每小时都会想一次24小时,一周两次,一周一次,一天一次,一个多月。我在每个数据点都记录了日期时间。
我喜欢24小时一小时这样的事情
从MiscTBL中选择*其中日期> =((当前日期 - 24小时))组别由hh
感谢您的任何建议
另外,我使用sql server management studio,如果这是一个自动更新的过程会很棒,所以我可以使用单独的表格,以便在较短的预定量时间段内更快地查询数据
答案 0 :(得分: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代理作业安排它运行。