[英]How to get record for every 2 minutes in SQL
我有一個數據表,每分鍾都有一個條目,它是龐大的數據集。 所以我需要每2分鍾獲取一次10 minutes dataset from last valid record
檢索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查詢中做到這一點?
要檢索這些值,可以使用以下命令:
SELECT
*
FROM
YourTable AS T
WHERE
T.DateTimeColumn >= DATEADD(MINUTE, -10, GETDATE())
對於定期任務,您可以創建一個SQL Server Agent作業,該作業每2分鍾運行一次上一個查詢。
如果您使用的是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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.