问题描述
我正在将数据库从InfluxDB迁移到TimescaleDB。
在涌入中,我有3个过滤器:Operation,Meter,CP。全部都具有'all',当我选择它们时效果很好。
在我的查询中,我有简单的条件:
当我尝试将其转换为TimescaleDB时,我使用'all'选项定义了相同的过滤器:
然后,用我的查询:
SELECT time_bucket('30 minutes',time) AS "time",sum(delta),meter_id
FROM measures
WHERE
$__timeFilter("time") AND
operation_id = $operationId AND
source = $source
GROUP BY time,meter_id
ORDER BY time;
当我为operation_id选择一个值时,此查询的效果很好。
但是只要我将他设置为all
,我就会得到:
pq: syntax error at or near ","
为什么会发生这种情况,我应该如何解决?我使用grafana 7.0.5
解决方法
我终于可以做到:
我使用了按钮:Generated SQL
,将all
字段转换为值列表。因此,我将=
更改为IN
,现在我开始使用它了。
SELECT time_bucket('30 minutes',time) AS "time",sum(delta),meter_id
FROM measures
WHERE
$__timeFilter("time") AND
meter_id IN ($meter_id) AND
source = $source
GROUP BY time,meter_id
ORDER BY time;