mysql将一个查询组合成另一个查询用于grafana

xpszyzbs  于 2021-06-19  发布在  Mysql
关注(0)|答案(0)|浏览(445)

我运行一个openhab2示例,收集数据以及数据收集中重要更改的时间戳。在我的表item45中,我存储了两列时间和值。
表(第45项)设计屏幕截图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中使用这些值,就像这样:
成功使用示例
我的问题出在我用来策划问题的格拉法纳身上。如果下一个较老的点在视口外,它会断开图形的连接。我试图通过虚拟方式填补查询中数据的空白来解决这个问题。这样地:
当前使用的查询

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;

正如你所看到的,我在这里使用一个给定的“hacks”来生成每小时的填充数据。
我需要帮助来实现此查询:
要从\u unixtime(…)替换的查询

SELECT * FROM item45 ORDER BY Time DESC LIMIT 1

进入查询1,其中从\u 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

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题