ich eine Tabelle, die enthält folgende Komponenten:berechnen Zeitdifferenz zwischen zwei Reihen
DataDate Value
2010-03-01 08:31:32.000 100
2010-03-01 08:31:40.000 110
2010-03-01 08:31:42.000 95
2010-03-01 08:31:45.000 101
. .
. .
. .
Ich brauche den Wert Spalte durch die zeitliche Differenz zwischen dem aktuellen und dem vorherigen Zeilen zu multiplizieren und summieren, dass für den ganzen Tag .
ich haben derzeit die Daten einrichten in alle 10 Sekunden kommen, die in der Abfrage für eine einfache Konvertierung macht:
SELECT Sum((Value/6) FROM History WHERE DataDate BETWEEN @startDate and @endDate
Wo @startDate und @endDate um 00:00:00 heutigen Datum sind und 11:59:59.
Bevor ich die zu sammelnden Daten alle 10 Sekunden einstellte, wurde sie gesammelt, sobald sich der Wert änderte. Es gibt keine doppelten Einträge in Bezug auf die Zeit, die minimale Zeitdifferenz beträgt 1 Sekunde.
Wie kann ich eine Abfrage einrichten, um die verstrichene Zeit zwischen den Zeilen für den Fall zu erhalten, wenn ich das Zeitintervall zwischen den Messungen nicht kenne?
Ich bin mit SQL Server 2005.
Verdammt das ist nützlich. Ich wusste nicht, dass ich es so machen könnte, und jetzt muss ich vielleicht ein paar Fragen ändern :) –
Ich liebe Lösungen wie diese, einfach und effektiv. – ChandlerPelhams
Awesomeoness, ich wünschte, ich hätte eine Taste +10. – vikingsteve