У меня есть таблица, содержащая следующее:
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
. .
. .
. .
Мне нужно умножить столбец значений на разницу во времени между текущей и предыдущими строками и суммировать это за весь день.
В настоящее время у меня есть данные, установленные каждые 10 секунд, что упрощает преобразование в запросе:
SELECT Sum((Value/6) FROM History WHERE DataDate BETWEEN @startDate and @endDate
Где @startDate и @endDate сегодня дата в 00:00:00 и 11:59:59.
Прежде чем я установил данные, которые будут собираться каждые 10 секунд, он собирался всякий раз, когда значение менялось. Нет никаких повторяющихся записей с точки зрения времени, минимальная разница во времени составляет 1 секунду.
Как настроить запрос для получения прошедшего времени между строками для случая, когда я не знаю интервал времени между показаниями?
Я использую SQL Server 2005.