5.InfluxDB-InfluxQL基础语法教程--WHERE子句

本文翻译自官网,官网地址:(https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/)

WHERE子句

语法:

SELECT_clause FROM_clause WHERE <conditional_expression> [(AND|OR) <conditional_expression> [...]]

:在WHERE子句中,支持在fields, tags, and timestamps上进行条件表达式的运算。
:在InfluxDB的WHERE子句中,不支持使用 OR 来指定不同的time区间,如下面的sql将会返回空:

SELECT * FROM "absolutismus" WHERE time = '2016-07-31T20:07:00Z' OR time = '2016-07-31T23:07:17Z'

Fields

语法如下:

field_key <operator> ['string' | boolean | float | integer]

在WHERE子句中,支持对string, boolean, float 和 integer类型的field values进行比较。

注意 :在WHERE子句中,如果是string类型的field value,一定要用单引号括起来。如果不适用引号括起来,或者使用的是双引号,将不会返回任何数据,有时甚至都不报错!

WHERE支持的运算符如下:

Operator Meaning
= equal to
<> not equal to
!= not equal to
> greater than
>= greater than or equal to
< less than
<= less than or equal to

支持的更多运算符详见: Arithmetic Operations, Regular Expressions

Tags

语法如下:

tag_key <operator> ['tag_value']

对于在WHERE子句中的tag values,也要用单引号括起来。如果不用引号括起来,或者使用双引号,则查询不会返回任务数据。甚至不会报错。

Tag支持的运算符如下:

Operator Meaning
= equal to
<> not equal to
!= not equal to

还支持正则运算: Regular Expressions

Timestamps

对于大部分的SELECT 语句来说,默认的时间区间是1677-09-21 00:12:43.145224194 到 2262-04-11T23:47:16.854775806Z UTC.
对于有GROUP BY time() 的SELECT 语句,默认的时间区间是1677-09-21 00:12:43.145224194 UTC 到 now()。

Time Syntax 小节将会介绍如何在WHERE子句中指定时间 区间。


WHERE示例sql

  1. Select data that have specific field key-values
  2. Select data that have a specific string field key-value

    InfluxQL requires single quotes around string field values in the WHERE clause.
  3. Select data that have a specific field key-value and perform basic arithmetic
  4. Select data that have a specific tag key-value

    InfluxQL requires single quotes around tag values in the WHERE clause.
  5. Select data that have specific field key-values and tag key-values

    The WHERE clause supports the operators AND and OR, and supports separating logic with parentheses.
  1. Select data that have specific timestamps

    该sql将查询h2o_feet中在7天以内的所有数据

关于WHERE语句的常见疑问

问题 :where子句查询意外地未返回任何数据。

:通常情况,出现该问题是因为在WHERE子句中没有对tag values或string类型的field values使用单引号括起来的缘故。对于WHERE子句中的tag values或string类型的field values,如果没有用引号括起来,或者是用的双引号,这种时候,查询不会返回任何结果,有时甚至也不会报错。
在下面的示例sql中,对tag value的引号使用做说明。第一个sql没有对tag value使用引号,第二个sql对tag value使用了双引号,第三个sql则对tag value使用了单引号。可以看到,第一和第二个sql都没有返回任何查询结果,而第三个sql返回了预期中的结果。

在下面的sql对string类型的field value的引号情况做说明,其中field value为“at or greater than 9 feet”。第一个sql没有对field value使用引号,第二个sql对field value使用了双引号,第三个sql则对field value使用了单引号。可以看到,第一个sql报错了,因为field valus中包含了空格。第二个sql虽然没报错,但是查询结果为空。第三个sql返回了预期中的结果。

原文地址:https://www.cnblogs.com/suhaha/p/11692210.html

时间: 2024-10-04 09:40:50

5.InfluxDB-InfluxQL基础语法教程--WHERE子句的相关文章

6.InfluxDB-InfluxQL基础语法教程--GROUP BY子句

本文翻译自官网,官网地址:(https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/) GROUP BY子句通过用户自己制定的tags set或time区间,来将查询结果进行分组. 一.GROUP BY tags GROUP BY 通过用户指定的tag set,来对查询结果进行分组. 语法: SELECT_clause FROM_clause [WHERE_clause] GROUP BY [* | <t

4.InfluxDB-InfluxQL基础语法教程--基本select语句

本文翻译自官网,官网地址:(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子句组成的. 一.SELE

css基础系列教程:CSS基础语法1

css基础系列教程:CSS基础语法1 作者:www.divcss8.com 我们学习CSS要明白一个重要的问题,CSS主要是解决与实现表现(CSS)与结构(HTML)的分离.我们编写完HTML之后,如何通过CSS对HTML实现控制呢. 1.  行内样式 2.  内嵌样式 3.  链接样式 4.  导入样式 我们这一节课的示例就先从行内样式开始 行内样式:就是直接在HTML上写样式,就是HTML上加属性style=""这种形式.如 <p style="color:#f00

C#语法教程(基础教程)

百度云盘下载 C#语法教程(基础教程)C#简介:C#是微软公司发布的一种面向对象的.运行于.NET Framework之上的高级程序设计语言.并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承.接口.与Java几乎同样的语法和编译成中间代码再运行的过程适合学习对象:本教程为基础视频教程主要针对刚学c#的同学不管学什么语言最重要的是要将基础打好,不要学一点皮毛后就想着去挑战高阶的东

ASP.NET MVC3 系列教程 - Razor视图引擎基础语法

http://www.cnblogs.com/highend/archive/2011/04/09/aspnet_mvc3_razor_engine.html 4. 关于所有带"_"开头的文档 ASP.NET MVC3默认情况下会拒绝所有访问地址以"_"开头的_*.cshtml文档.关于_*.cshtml文档,其实他是WebPages中的一部分,稍后将会详细介绍该以"_"文档的使用说明. 例如访问 http://localhost:7985/_V

kotlin 官方学习教程之基础语法

Google 在今天的举行了 I/O 大会,大会主要主要展示内有容 Android O(Android 8.0)系统.Google Assistant 语音助手.Google 智能音箱.人工智能.机器学习.虚拟现实等.作为一个 Android 开发者,我关心的当然是 Android O(Android 8.0)系统了,那么关于 Android O 系统的一个重要消息是全面支持 Kotlin 编程语言,使得 Kotlin 成为了 Android 开发的官方语言,被称为 Android 开发中的 S

初见Python基础语法_人生若只如初见

本系列文章是在学习Python的过程中遇到了瓶颈,转到菜鸟教程去体会初见Python的乐趣,完善整体知识框架.加强自我对Python语言的理解以及对Python知识点的掌握.本文来源于:菜鸟教程(学习记录) Python 3 关于Python的安装,版本查看,版本对比(Python2)以及输出"hello world"等不再赘述,请自行百度查阅. 基础语法 编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件

Scala学习笔记一之基础语法,条件控制,循环控制,函数,数组,集合

前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html 1:Scala之基础语法学习笔记: 1:声明val变量:可以使用val来声明变量,用来存放表达式的计算结果,但是常量声明后是无法改变它的值的,建议使用val来声明常量: 声明var变量:如果要声明可以改变的引用,可以使用var变量,声明的常量的值可以改变. 3:指定类型:无论声明val变量还是声明var变量.都可以手动指定其类型,如果不指定,scala会自动根据值,进行类型

大数据技术之_24_电影推荐系统项目_02_Python 基础语法

第六章 Python 基础语法6.1 Python 综述6.1.1 Python 是什么6.1.2 Python 的发展6.1.3 Python 的特点6.2 Python3 安装6.2.1 Python3 和 Python2 的区别6.2.2 Python3 环境的安装(以 windows 为例)6.2.3 Anaconda(巨蟒) 安装教程(可选)6.3 Python 基本语法6.3.1 编码6.3.2 标识符6.3.3 注释6.3.4 关键字和保留字6.3.5 行和缩进6.3.6 多行语句