Sql 如何在流入数据库中使用WHERE子句进行查询?

Sql 如何在流入数据库中使用WHERE子句进行查询?,sql,influxdb,Sql,Influxdb,我想在inflow数据库中进行查询,以选择状态不等于200的条目 我尝试了以下方法: select * from http_reqs where status!=200 limit 30; select * from http_reqs where "status"!=200 limit 30; 在这里我没有得到任何结果 select * from http_reqs where status!="200" limit 30; select * from

我想在inflow数据库中进行查询,以选择状态不等于200的条目

我尝试了以下方法:

select * from http_reqs where status!=200 limit 30;
select * from http_reqs where "status"!=200 limit 30;
在这里我没有得到任何结果

select * from http_reqs where status!="200" limit 30;
select * from http_reqs where "status"!="200" limit 30;
在这里,我得到了所有结果(即使是状态为200的条目)

我做错了什么

此外,以下查询不会返回任何内容:

select status from http_reqs limit 300;
我很困惑

但是,下面的查询返回一些信息

select * from http_reqs limit 300;
它返回300个标题如下的条目:

time error error_code method name proto scenario status tls_version type url value

我认为“status”特性并不完全是int,它似乎混合了int和char。尝试将该功能键入int,然后在查询中使用它。

XDB不是垃圾。您只需要学习它-它不是SQL数据库!我打赌您的
状态是tag,所以在SELECT部分中只使用tag是没有意义的。我猜它也是字符串类型,因此正确的查询语法应该是:

SELECT * 
FROM http_reqs 
WHERE "status"!='200'
LIMIT 30

如果它不起作用,不要怪我,因为它几乎是瞎猜。您没有提供测量结构(字段/标签及其类型)。

状态的数据类型是什么?如果是字符串,则可能有隐藏字符,例如空格。如果使用no
where
进行的查询没有返回任何内容,那么您的表是空的。这要容易得多crap@GordonLinoff
status
似乎是一个没有隐藏字符的字符串,因为用于从该SQL查询中选择条目的python脚本工作正常。我甚至无法执行以下查询:
selectstatusfromhttp\u reqs limit 3我得到零结果!或此查询:
从http\u reqs limit 3中选择“方法”这里我得到一个错误:
从http\u reqs limit 3中选择“method”谢谢你的回答,它似乎有效!因此,报价的类型在这里很重要(单引号与双引号)?另外,您所说的测量结构是什么意思?@Alex《从SQL mind到InfluxDB mind的快速转换指南》(但它不是1:1映射,请始终阅读InfluxDB doc):
->
测量
列,可以使用聚合函数进行聚合
->
字段
列,可用于筛选、分组
->
标记
,where部分中的列定义应在
''
中,文本值应在
''
中。