4.InfluxDB-InfluxQL基础语法教程--基本select语句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了4.InfluxDB-InfluxQL基础语法教程--基本select语句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3469字,纯文字阅读大概需要5分钟。
内容图文
本文翻译自官网,官网地址:(https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/)
基本语法如下:
SELECT <field_key>[,<field_key>,<tag_key>] FROM <measurement_name>[,<measurement_name>]
可见,select语句是由SELECT子句和FROM子句组成的。
一、SELECT子句
在SELECT字句中,有如下几种形式,分别用于查询各种指定的数据:
语法 | 意思 |
---|---|
SELECT * | 查询measurement中所有的fields和 tags。示例sql:select * from h2o_feet; |
SELECT "<field_key>" | 查询指定的一个field。示例sql:select water_level from h2o_feet; |
SELECT "<field_key>","<field_key>" | 查询多个field。示例sql:select "level description", "water_level" from h2o_feet; |
SELECT "<field_key>","<tag_key>" | ?查询指定的field和tag。示例sql:select water_level,location from h2o_feet; 注:在SELECT子句中,如果包含了tag,那么此时就必须指定至少一个field。比如如下的sql就是错误的,因为它只select了一个tag,而没有field:select location from h2o_feet; |
SELECT "<field_key>"::field,"<tag_key>"::tag | 跟上面一样,也是查询指定的field和tag。 ::[field | tag]语法用来指定标识符的类型,因为有时候tag和field有可能同名,因此用 ::[field | tag]语法来加以区分。 |
在SELECT子句中,还包含数学运算、聚合函数、基本的类型转换、正则表达式等。
二、FROM子句
FROM子句用于指定要查询的measurement,支持的语法如下:
语法 | 意思 |
---|---|
FROM <measurement_name> | 从指定measurement中查询数据。这种方式会从当前DB、默认retention policy的measurement中查询数据。 |
FROM <measurement_name>,<measurement_name> | 从多个measurement中查询数据 |
FROM <database_name>.<retention_policy_name>.<measurement_name> | 从指定DB、指定retention policy的measurement中查询数据 |
FROM <database_name>..<measurement_name> | 从指定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
The SELECT clause supports combining the * syntax with the :: syntax.在查询时进行基本的数学运算
InfluxDB遵循标准的四则运算规则。更多操作详见Mathematical Operators。同时从多个measurement中查询它们的所有数据
从一个全路径的measurement中查询数据
可见,所谓的全路径,其实就是指在FROM子句中,指定了measurement所在的DB,以及要查询数据所在的retention policy。查询指定数据库中的measurement的数据
The query selects data in the NOAA_water_database, the DEFAULT retention policy, and the h2o_feet measurement. The .. indicates the DEFAULT retention policy for the specified database.
关于SELECT语句的常见疑问
在SELECT 子句中,必须要有至少一个field key!如果在SELECT子句中只有一个或多个tag key,那么该查询会返回空。这是由InfluxDB底层存储数据的方式所导致的结果。
示例:
上面的查询结果返回为空,是因为在它的SELECT子句中,只查询了location这个tag key。
如果想要查询跟location这个tag key有关的任何数据,则在SELECT字句中必须至少要包含一个field key,如下:
4.InfluxDB-InfluxQL基础语法教程--基本select语句
标签:header alt str code from 推荐 报错 opera 表达式
本文系统来源:https://www.cnblogs.com/suhaha/p/11692115.html
内容总结
以上是互联网集市为您收集整理的4.InfluxDB-InfluxQL基础语法教程--基本select语句全部内容,希望文章能够帮你解决4.InfluxDB-InfluxQL基础语法教程--基本select语句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。