我有一个数据表,每分钟都有一个条目,它是庞大的数据集。所以我需要每 2 分钟获取一次数据检索10 minutes dataset from last valid record
。所有这些数据都用于图形绘制,因此试图限制图表中显示的记录数。例如对于一个样本看起来像这样:
DateTime
2016-01-01 08:22:00
2016-01-01 08:21:00
2016-01-01 08:20:00
2016-01-01 08:19:00
2016-01-01 08:18:00
2016-01-01 08:17:00
2016-01-01 08:16:00
2016-01-01 08:15:00
2016-01-01 08:14:00
2016-01-01 08:13:00
2016-01-01 08:12:00
2016-01-01 08:11:00
2016-01-01 08:10:00
预期记录结果:
2016-01-01 08:21:00
2016-01-01 08:19:00
2016-01-01 08:17:00
2016-01-01 08:15:00
2016-01-01 08:13:00
如何在 SQL 查询中执行此操作?
如果您使用的是 SQL Server:
在 SQL 中编写一个循环并运行它。您可以更改 @end_time 计算以将时间限制从 10 增加到更大的时间。
DECLARE @interval int = 2,
@start_time datetime ,
@end_time datetime
set @start_time = GETDATE();
set @end_time = DATEADD(M, 10, @start_time)
while (@start_time < @end_time)
BEGIN
select *
from [TABLENAME ]
where [col] between @start_time and DATEADD(M, @interval, @start_time)
set @start_time = DATEADD(M, @interval, @start_time) END
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句