5.InfluxDB-InfluxQL基础语法教程--WHERE子句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了5.InfluxDB-InfluxQL基础语法教程--WHERE子句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3404字,纯文字阅读大概需要5分钟。
内容图文
本文翻译自官网,官网地址:(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
Select data that have specific field key-values
Select data that have a specific string field key-value
InfluxQL requires single quotes around string field values in the WHERE clause.Select data that have a specific field key-value and perform basic arithmetic
Select data that have a specific tag key-value
InfluxQL requires single quotes around tag values in the WHERE clause.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.
- 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返回了预期中的结果。
5.InfluxDB-InfluxQL基础语法教程--WHERE子句
标签:lan 没有 运算 第一个 语法 influxdb orm condition code
本文系统来源:https://www.cnblogs.com/suhaha/p/11692210.html
内容总结
以上是互联网集市为您收集整理的5.InfluxDB-InfluxQL基础语法教程--WHERE子句全部内容,希望文章能够帮你解决5.InfluxDB-InfluxQL基础语法教程--WHERE子句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。