Я запускаю экземпляр Openhab2 и собираю данные, а также временные метки для важных изменений в сборе данных.Внутри моей таблицы item45 я храню 2 столбца Time and Value, который выглядит следующим образом.
TABLE (item45) Дизайн Скриншот 1 Скриншот 2
Time (datetime,primary) Value (datetime)
... ...
2018-10-17 03:08:30 2018-10-17 03:08:30
2018-10-19 00:13:13 2018-10-19 00:13:13
2018-10-19 00:27:58 2018-10-19 00:27:57
Это своего рода дизайн того, как Openhab хранит данные, поэтому я ничего не могу с этим поделать.теперь я пытаюсь использовать эти значения в Grafana так же, как эти:
Пример успешного использования
Моя проблема лежит в Grafana im, использующем для построения запросов.Он отключает графики, если следующая более старая точка находится вне области просмотра.Я пытался справиться с этим с помощью виртуального заполнения пробелов в данных внутри запроса.Например:
Используемый в настоящее время запрос
SELECT
1 as value,
'Net Reset' as metric,
UNIX_TIMESTAMP(v.gen_date) AS time_sec
from
(select DATE_SUB( FROM_UNIXTIME(1539707286), INTERVAL t3*1000 + t2*100 + t1*10 + t0 HOUR) gen_date from
(select 0 t0 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0
CROSS JOIN (select 0 t1 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1
CROSS JOIN (select 0 t2 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2
CROSS JOIN (select 0 t3 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3
) v
LEFT JOIN item45
ON DATE_FORMAT( Time, '%Y-%m-%dT%H:00:00') = v.gen_date
where $__timeFilter(v.gen_date)
ORDER BY v.gen_date DESC;
КАК вы можете видеть, как я использую одно из заданных здесь "хаков" для генерации почасовых заполняющих данных, которые просто установлены в единицы.
Мне нужна помощь для реализации этого запроса:
Запрос на замену FROM_UNIXTIME (...)
SELECT * FROM item45 ORDER BY Time DESC LIMIT 1
на запрос 1, где FROM_UNIXTIME(1539707286) для установки фактической остановки заполнения будущих данных.
Я работаю на MySQL57-сервере и в настоящее время не могу выполнить обновление до версии 8, чтобы использовать предложение with.
Желаемый вывод
Time Value
2018-10-18 21:00:00 1 <- Inserted
2018-10-18 22:00:00 1 <- Inserted
2018-10-18 23:00:00 1 <- Inserted
2018-10-19 00:00:00 1 <- Inserted
2018-10-19 00:13:13 1
2018-10-19 00:27:58 1