簡體   English   中英

如何在SQL中每2分鍾獲取記錄

[英]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:

  1. 您可以在SQL Server代理中安排作業
  2. 用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM