sos*_*nus 0 postgresql grafana
我有包含三个变量的 postgres 表:datetime、robot_id 和 energy_percent。现在在图表中我有energy_percent和robot_id。如何按 对该表中的记录进行分组robot_id?目前在这个表中我有 3 个不同的记录robot_id,所以我想在这个图表上看到 3 条线。

编辑:我有一张包含很多记录的表,在列中robot_id我有 id。我需要每个唯一的一张折线图robot_id。如果表包含x唯一的robot_id我期望x图表上的线条。这是Excel示例:左边是错误的图表,右边是正确的图表:
而且一件事:在 Excel 上,没有数据的地方我有 0,但我不需要点。
Edit2:我可以用下面的很多系列来做,但它应该是通用的(我不知道有多少唯一的robot_id)并且用一个查询(A)而不是很多查询(A,B,C等)来完成
编辑3:当我应用代码时:
SELECT
$__timeGroupAlias(time_created, $__interval),
robot_id AS "metric",
AVG(energy_percent) AS "value"
FROM api_robotlog
WHERE
$__timeFilter(time_created)
GROUP BY 1,2
ORDER BY 1
Run Code Online (Sandbox Code Playgroud)
我有 2 个地块:energy_percent(time)和robot_id(time)。没有很多情节energy_percent(time, robot_id)。

编辑 5:使用@Jan Garaj 解决方案可以正常工作。两个图表,有两个相似的查询:
TOP图表查询:
SELECT
$__timeGroupAlias(time_created, $__interval),
robot_id AS "metric",
AVG(energy_percent) AS "value"
FROM api_robotlog
WHERE
$__timeFilter(time_created)
GROUP BY 1,2
ORDER BY 1
Run Code Online (Sandbox Code Playgroud)
底图查询:
SELECT
$__timeGroupAlias(time_created, $__interval),
robot_id AS "metric",
AVG(energy_percent) AS "value"
FROM api_robotlog
WHERE
$__timeFilter(time_created)
GROUP BY 1,2
ORDER BY 1
Run Code Online (Sandbox Code Playgroud)
只需将其正确分组即可。我会更多地切换到文本编辑并手动编写 SQL。例如:
SELECT
$__timeGroupAlias(time_created, $__interval),
robot_id AS "metric",
AVG(energy_percent) AS "value"
FROM api_robotlog
WHERE
$__timeFilter(time_created)
GROUP BY 1,2
ORDER BY 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
962 次 |
| 最近记录: |