Ich versuche, eine Abfrage zu schreiben, die den Unterschied zwischen den Wert Zeilen als eine neue Spalte namens Differenz berechnet, wenn das Datetime-Feld in aufsteigender Reihenfolge ist.Unterschied zwischen zwei Zeilen mit Datum in aufsteigender Reihenfolge
Zum Beispiel sollte 2016.03.02 seine 102.340.624 - 102269208
select datetime, tagname, value
from runtime.dbo.AnalogHistory
where datetime between '20160301 00:00' and '20160401 00:00'
and TagName = 'EWS_A3_PQM.3P_REAL_U'
and wwResolution = (1440 * 60000)
order by DateTime asc
DATETIME TAGNAME VALUE DIFFERENCE
2016-03-01 00:00:00.0000000 EWS_A3_PQM.3P_REAL_U 102269208
2016-03-02 00:00:00.0000000 EWS_A3_PQM.3P_REAL_U 102340624
2016-03-03 00:00:00.0000000 EWS_A3_PQM.3P_REAL_U 102411568
2016-03-04 00:00:00.0000000 EWS_A3_PQM.3P_REAL_U 102478104
2016-03-05 00:00:00.0000000 EWS_A3_PQM.3P_REAL_U 102549088
2016-03-06 00:00:00.0000000 EWS_A3_PQM.3P_REAL_U 102612592
2016-03-07 00:00:00.0000000 EWS_A3_PQM.3P_REAL_U 102682984
2016-03-08 00:00:00.0000000 EWS_A3_PQM.3P_REAL_U 102747000
2016-03-09 00:00:00.0000000 EWS_A3_PQM.3P_REAL_U 102817176
2016-03-10 00:00:00.0000000 EWS_A3_PQM.3P_REAL_U 102887896
Vielen Dank im Voraus
, wenn Sie SQL Server 2012 verwenden, können Sie LEAD(), LAG() Fensterfunktion – Squirrel
verwenden Wenn Sie SQL Server 2008 verwenden Sie es mit ROW_NUMBER mit Selbstverbindungs – cha