У меня есть таблица, которая содержит следующее:
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.