首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将单独的信号流合并到一个表中,并为每个时间间隔的每个信号提供一个聚合值。

将单独的信号流合并到一个表中,并为每个时间间隔的每个信号提供一个聚合值。
EN

Stack Overflow用户
提问于 2020-07-06 15:13:18
回答 1查看 47关注 0票数 1

我有一个InfluxDB接收数据点分别从设备为每次测量,即对于全球定位系统的位置,纬度/经度/高度是三种不同的流,必须分别查询。应用程序的这一部分我无法更改。

现在,我想在Grafana中创建一个简单的表,显示每个时间戳的组合GPS数据集。我已经将所有这些信号合并到一个表中,但是现在每个信号都是它自己的行:

我的查询如下:

代码语言:javascript
复制
SELECT 
  median(Latitude) as "Lat", 
  median(Longitude) as "Long", 
  median(Altitude) as "Alt", 
  median(TheSpeed) as "Speed" 
FROM
  (SELECT value as "Latitude" FROM "signal-1" WHERE $timeFilter  AND deviceId =~/$DeviceID/),
  (SELECT value as "Longitude" FROM "signal-2" WHERE $timeFilter  AND deviceId =~/$DeviceID/),
  (SELECT value as "Altitude" FROM "signal-5" WHERE $timeFilter  AND deviceId =~/$DeviceID/),
  (SELECT value as "TheSpeed" FROM "signal-4" WHERE $timeFilter  AND deviceId =~/$DeviceID/)
WHERE $timeFilter 
GROUP BY time(1s)

如何将四个独立的信号合并到一个表行中?

谢谢你的帮助,我被困在这上面了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-07 10:10:09

我找到了解决办法:

将查询更改如下:

代码语言:javascript
复制
SELECT 
median(value)
FROM
(SELECT value FROM "signal-1" WHERE $timeFilter  AND deviceId =~/$DeviceID/),
(SELECT value FROM "signal-2" WHERE $timeFilter  AND deviceId =~/$DeviceID/),
(SELECT value FROM "signal-5" WHERE $timeFilter  AND deviceId =~/$DeviceID/),
(SELECT value FROM "signal-4" WHERE $timeFilter  AND deviceId =~/$DeviceID/),
WHERE $timeFilter 
GROUP BY time($timegap), "description" 
FILL(previous)

并将表格式化为时间序列(而不是" table "),并使用"description“字段作为别名BY。

现在看来我就是这么需要它的:

我有点惊讶没有人回答这个问题,回想起来,这似乎是个问题。:(

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62759079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档