1
試圖以15分鐘的時間間隔獲得所有卡車狀態的準確畫面。 我可以做每15分鐘發生一次的狀態變化,但是在計算前一個時間間隔內的數值時,如果他們在幾個小時內沒有做任何更改,並且複製這些變化直到他們變成另一個時間間隔更改。有142輛卡車,所以理想情況下,我會得到每15分鐘間隔142行
任何指針/解決方案將非常感激。
我在猜測查詢需要回顧並查找以前的狀態更改,然後每隔15分鐘填充一次,直到下一個。
SELECT top 1000
RM.RESOURCE_CALLSIGN
,RM.MESSAGE_DATE
,DATEADD(MINUTE, ROUND(DATEDIFF(MINUTE, 0, MESSAGE_DATE)/15.0, 0) * 15, 0) [Interval]
,[MESSAGE]
,RM.STATUS_WAS
,RM.STATUS_BECAME
FROM [MOBILISATIONS].[dbo].[RESOURCE_MESSAGE] RM
where RESOURCE_CALLSIGN like '_____' and MESSAGE like '%status change%'
這是一段代碼,我發現,以與每15分鐘間隔的表,因爲在給定日期:
declare @timetbl table(t datetime)
declare @t datetime
set @t = '2017-01-01 00:00:00'
while @t <= getdate()
begin
insert into @timetbl values (@t)
set @t = dateadd(mi, 15, @t)
end
select * from @timetbl
這是偉大的,真的很感激它。你如何把它提升到一個新的水平,並獲得每間隔142卡車狀態?即如果一輛卡車在下午1點進入狀態3,則它應該保持狀態3達到其狀態4所需的時間間隔。 –
@ApolloGerolymbos。 。 。你的問題似乎很廣泛。目前尚不清楚哪一部分是真正的問題。這個答案解決了我認爲的主要問題。 –
謝謝你回來。早期的幫助和谷歌的組合,我已經破解了它。我現在每隔15分鐘就有一輛卡車的狀態,即使他們沒有做出改變,即查詢回顧並發現以前的改變。如果你想要代碼,請讓我知道,但這個評論太長了! –