Привет, мне нужна помощь с запросом SQL.У меня есть таблица базы данных, заполненная данными потребления смартметра.Новые записи будут добавляться в базу данных каждую минуту.Для внешнего интерфейса я хочу показать графики ежедневного / почасового потребления.Таблица базы данных выглядит следующим образом:
Timestamp AWATT BWATT CWATT
2018-06-01 21:33:56 13.45 4.3 2.78
2018-06-01 21:34:56 14.01 5.0 2.89
...
Потребление постоянно увеличивается.Поэтому я хочу получить разницу в потреблении за каждый полный час и за фактический период, когда запрос обрабатывается только с указанием для базы данных даты или месяца.
например.
Timestamp AWATT BWATT CWATT
00:00 - 01:00 x y z
01:00 - 02:00 x1 y1 z1
02:00 - 02:38 x2 y2 z3
Запрос выполняется в 02:38.
Я не хочу выполнять вычисления после выполнения запроса.MYSQL должен сделать эту работу за меня.
То, что у меня есть на данный момент:
select extract(hour from timestamp) as theInterval
, awatthr
, bwatthr
, cwatthr
from value_table
where date_format(timestamp, '%d-%m-%Y') = '01-06-2018'
group
by extract(hour from timestamp)
Результат:
theInterval awatthr bwatthr cwatthr
0 2955.33 10100.6 13434.8
1 2963.17 10179.6 13556.5
2 2994 10251.2 13677.3
...
22 5702 11704.5 15944.6
23 6876.93 12078.2 16213.7
это дает мне фактическое значение для каждого полногочас, но не вычисляет разницу между ними.
Можете ли вы помочь мне добавить недостающую часть в этот запрос?