【发布时间】:2021-01-24 02:54:26
【问题描述】:
我在 Grafana 中创建了一个名为 $mypair 的变量,我手动添加了一些选项,我可以在仪表板中查看这些选项。我选择一个选项(例如:AUDCAD)。
在图表设置的查询部分,我输入以下查询:
SELECT UNIX_TIMESTAMP(time) AS time, LEFT([[mypair]], 3) FROM allpairs
我试图从上面的查询中完成的实际上是在查询下面
SELECT UNIX_TIMESTAMP(time) AS time, AUD FROM allpairs
我试图从 $mypair 变量中获取前 3 个字母,以便构建图形。但我没有成功。当我在图形设置的查询框上设置第一个查询时,它会给出以下格式的表格
2020-09-04 02:00:00 AUD
2020-09-04 03:00:00 AUD
2020-09-04 04:00:00 AUD
2020-09-04 05:00:00 AUD
2020-09-04 06:00:00 AUD
2020-09-04 07:00:00 AUD
但我需要的是使用 $mypair 变量的前 3 个字母选择列,因此输出如下
2020-09-04 02:00:00 63
2020-09-04 03:00:00 63
2020-09-04 04:00:00 62
2020-09-04 05:00:00 62
2020-09-04 06:00:00 62
2020-09-04 07:00:00 60
我会接受反馈。
【问题讨论】:
-
您看到的查询输出是 MySQL 查询的正确行为。当我们说
SELECT LEFT('AUDCAD', 3) FROM allpairs时,MySQL会选择AUDCAD字符串的前三个字符,即AUD。它不会使用AUD作为列名。要实现您想要做的事情,请使用 MySQL 准备好的语句。 -
@robert 谢谢你的例子,请你给一些关于mysql准备好的语句的指点或例子
标签: mysql regex grafana grafana-templating grafana-variable