4.InfluxDB | 您所在的位置:网站首页 › influxdb查询数据 › 4.InfluxDB |
本文翻译自官网,官网地址:(https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/) 基本语法如下: SELECT [,,] FROM [,]可见,select语句是由SELECT子句和FROM子句组成的。 一、SELECT子句在SELECT字句中,有如下几种形式,分别用于查询各种指定的数据: 语法 意思 SELECT * 查询measurement中所有的fields和 tags。示例sql:select * from h2o_feet; SELECT "" 查询指定的一个field。示例sql:select water_level from h2o_feet; SELECT "","" 查询多个field。示例sql:select "level description", "water_level" from h2o_feet; SELECT "","" 查询指定的field和tag。示例sql:select water_level,location from h2o_feet; 注:在SELECT子句中,如果包含了tag,那么此时就必须指定至少一个field。比如如下的sql就是错误的,因为它只select了一个tag,而没有field:select location from h2o_feet; SELECT ""::field,""::tag 跟上面一样,也是查询指定的field和tag。 ::[field | tag]语法用来指定标识符的类型,因为有时候tag和field有可能同名,因此用 ::[field | tag]语法来加以区分。在SELECT子句中,还包含数学运算、聚合函数、基本的类型转换、正则表达式等。 二、FROM子句FROM子句用于指定要查询的measurement,支持的语法如下: 语法 意思 FROM 从指定measurement中查询数据。这种方式会从当前DB、默认retention policy的measurement中查询数据。 FROM , 从多个measurement中查询数据 FROM .. 从指定DB、指定retention policy的measurement中查询数据 FROM .. 从指定DB、默认retention policy的measurement 中查询数据FROM子句中还支持正则表达式。 关于引号如果measurement、tag、field等的标识符除了[A-z,0-9,_]之外,还有其他字符,或者标识符是keyword关键字,那么在引用的时候必须加上双引号。比如在表 h2o_feet 中,"level description"就是一个带有空格的field,如此一来在查询到的时候,就必须加上双引号了。如下图,在查询level description时若不加双引号,则会报错。
官方推荐,虽然有些标识符不是必须使用双引号,但是推荐对所有标识符使用双引号! 示例sql从单个measurement中查询该measurement所有的tag和field
从单个measurement中查询指定的tag和field
从单个measurement中查询指定的tag和field,并指定它们的标识类型
从measurement中查询所有的field
在查询时进行基本的数学运算
同时从多个measurement中查询它们的所有数据
从一个全路径的measurement中查询数据
查询指定数据库中的measurement的数据
在SELECT 子句中,必须要有至少一个field key!如果在SELECT子句中只有一个或多个tag key,那么该查询会返回空。这是由InfluxDB底层存储数据的方式所导致的结果。 示例:
|
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |