У меня есть таблица SQL, в которой столбец имеет добавочные значения в секунду.Как я могу определить значение изменения или потребления за час?
For e.g.
Date Time EnergyKWH
2019-02-16 18:00:00.000 43.366
2019-02-16 18:00:01.000 43.367
2019-02-16 18:00:02.000 43.369
.................
............
.........
2019-02-16 19:00:00.000 70.886
(1 запись на каждую 1 секунду, 3600 за 1 час)
Как узнать общее потребление за часбазис, с 18:00 до 19:00, и рассчитали ли это для всех 24 часов отдельно?(Почасовое потребление будет разницей между значениями 18:00 и 19:00.)
Expected Result :
Date StartTime EndTime EnergyKWH
2019-02-16 18:00:00 19:00:00 27.250 (Difference of 70.886-43.366)
2019-02-16 19:00:00 20:00:00 21.561 (Next Value Approximation)
Данные поступают в режиме реального времени в секунду, и мне нужно решение, которое могло бы автоматизировать этот процесс,
Должен ли я использовать что-то вроде представления или CTE для вычисления на лету или, может быть, триггер с вычисленными результатами, идущий в другую таблицу с моим требуемым набором результатов?
Пожалуйста, имейте в виду, что это будет непрерывный процесс для всех дат и всех 24 часов.В идеале я хотел бы хранить как минимум 7 дней вычисленных данных / результатов.Моя версия БД - MS SQL 2012.
Мне просто нужна разница в значении в 18:00 и 19:00, и аналогично для всех 24 часов, на сегодняшний день и на любую дату в прошлом.
Я могу сделать этот расчет математически, это очень просто, но каков будет оптимальный способ автоматизировать этот процесс, когда поступают новые данные?