1
我有與具有時間序列數據 實施例許多標籤的表:獲取查詢的拳頭行從列表
TagName Value DateTime Quality
Tag1 75 09/24/2015 01:05:10 192
Tag1 76.5 09/24/2015 01:05:20 192
Tag1 75 09/24/2015 01:05:40 192
Tag1 74.5 09/24/2015 01:06:00 192
Tag2 75 09/24/2015 01:05:10 192
Tag2 76.5 09/24/2015 01:05:20 192
Tag2 75 09/24/2015 01:05:40 192
Tag2 74.5 09/24/2015 01:06:00 192
我需要查詢開始日期和結束日期和時間間隔之間的標籤(多個) (5分鐘/ 15分鐘)
這個查詢的工作原理:
SELECT * FROM
(SELECT [DateAndTime],[TagName],[Val],row_number()over(partition by datepart(minute, [DateAndTime])order by [DateAndTime]) as "rn"
FROM [FloatTable] WHERE
([DateAndTime] BETWEEN @StartDateTime AND @EndDateTime) AND
([TagName] IN (@TagName)) AND
((DATEPART("n",[DateAndTime]) % @IntervalInMins = 0))) x
WHERE rn = 1
隨着參數:
- 間隔:5分鐘
- 標籤: 'Tag1中'
- 的startDateTime: '2014年2月26日9點零零分00秒'
- EndDateTime: '2014年2月26日11:00:00'
結果查詢:
TagName Value DateTime Quality
Tag1 75 09/24/2015 01:05:10 192
Tag1 76.5 09/24/2015 01:10:10 192
Tag1 75 09/24/2015 01:16:40 192
但是,如果我們在一個時間查詢1個標籤這僅適用。通常我們想要查詢一個標籤列表。如果我查詢標籤'Tag1,Tag2'的列表,則查詢僅給出Tag1的結果。請指教。
標籤您與您正在使用的數據庫的問題。 –