1
我有一個sql server 2008 r2數據庫。sql server選擇第一次出現數據更改
我有一張名爲hystrealdata
的表格,其中每秒存儲自動機器的生產數據。因此,它的結構是這樣的:
dataregvalue timestamp
--------------------------------------------------------------------------
0 1507190476
0 1507190577
0 1507190598
0 1507190628
1 1507190719
1 1507190750
1 1507190780
1 1507190811
1 1507190841
2 1507190861
2 1507190892
2 1507190922
2 1507190953
2 1507190983
5 1507190477
我需要在第一行中選擇一個dataregvalue
的第一次出現,那麼接下來dataregvalue和以前的區別之一。在這個數據旁邊,我希望有第一個時間戳dataregvalue。選擇的一個例子是:
data_change timestamp
---------------------------
0 1507190476 <- first time in which the dataregvalue is 0
1 1507190719 <- first time in which the dataregvalue changes
1 1507190861 <- first time in which the dataregvalue changes
3 1507190477 <- first time in which the dataregvalue changes
如果這太難了,這將是罰款,對自己在新的一列這樣dataregvalues之間差異的信息:
dataregvalue data_change timestamp
---------------------------------------------
0 0 1507190476
1 1 1507190719
2 1 1507190861
5 3 1507190477
哪有這樣做? 在此先感謝!
請問您可以查看您的示例嗎? data_change 3來自哪裏?爲什麼在示例1中1列出了兩次,5次未列出?此外,我們是在談論一個真正的時間戳還是由交付系統創建的東西?換句話說:我們可以用它來計算嗎? – Tyron78
對於數據值5,您確定您期望時間戳1507190861?根據你的數據,第一次從2變到5時,是1507190477。 –
Tyron78,data_changes是該時間戳處的dataregvalue與其之前的差異。因此,如果在時間戳= 1507190983時dataregvalue爲2,則時間戳1507190477的下一個爲5,5和2之間的差爲3.這就是爲什麼會出現3。 Rigerta Demiri你是對的。我更新了這個問題。 –