首页 > 解决方案 > InfluxDB 查询不适用于“WHERE”子句

问题描述

URL 查询中的 WHERE 子句有问题。很快,这有效:

http://localhost:8086/query?pretty=true&db=boatdata&q=SELECT time,lat FROM "navigation.position" WHERE time='2021-05-19T11:21:11.448Z'

这不会:

http://localhost:8086/query?pretty=true&db=boatdata&q=SELECT time,lat FROM "navigation.position" WHERE lon='23.53815'

区别:在第一个语句中,我在 WHERE 子句中使用了“时间”,而在第二个语句中,我使用了“lon”:

WHERE time='2021-05-19T11:21:11.448Z' 对比WHERE lon='23.53815'

为什么第二个不起作用对我来说没有意义。任何帮助将非常感激。谢谢。

PS这是这两个的输出:#1:

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "name": "navigation.position",
                    "columns": [
                        "time",
                        "lat"
                    ],
                    "values": [
                        [
                            "2021-05-19T11:21:11.448Z",
                            60.084066666666665
                        ]
                    ]
                }
            ]
        }
    ]
}

#2

{
    "results": [
        {
            "statement_id": 0
        }
    ]
}

标签: urlgrafanainfluxdb

解决方案


这是有道理的 - lat( lon) 不是字符串类型。

过滤,其中lat是一个string类型:

lat='60.084066666666665'

与过滤相比,类型在lat哪里float

lat=60.084066666666665

推荐阅读