influxdb常用sql总结
本文为博主原创,转载请注明出处:
1.登录influxdb
influx -username admin -password "password"
2.查看数据库
##查看有哪些数据库
show databases; ##选中数据库
use database_name;
3.查看表及表结构
##查看所有数据库表
show measurements; ##查看measurement_name有哪些 fields
show field keys from measurement_name ##查看measurement_name有哪些tag
show tag keys from measurement_name
4.建表并新增数据
InfluxDB 使用写入操作来自动创建表。当你向新的测量写入数据时,如果该测量不存在,则会自动创建一个新表。
insert <tbname>,<tags> <values> [timestamp]
在insert执行语句中,tag与tag、field与field之间用","进行分割,
tag与field之间用空格分割 tag的value都是String类型,不需要加双引号
field的String类型数据,需要放在双引号中,否则会报错
如果需要显示添加时间戳,在filed后添加空格,再添加时间戳
INSERT sensor_data,location=home,device_id=sensor001 temperature=25,humidity=50
上述写入操作将自动创建一个名为 sensor_data 的表,并将数据写入其中。
5.更新数据
在 InfluxDB 中,数据是不可变的,因此不能直接更新已有的数据点。如果要更改数据值,需要执行插入操作,并覆盖具有相同时间戳的数据。
假设要更新 sensor_data 测量中 temperature 字段的值为 26,可以执行以下操作:
INSERT sensor_data,location=home,device_id=sensor001 temperature=26,humidity=50
6.删除表与数据:
DROP MEASUREMENT measurement_name
根据过滤条件删除数据:
DELETE FROM sensor_data WHERE location='home' AND device_id='sensor001'
7.group by
在 InfluxDB 中,group by 只能用于对 tag 相关的字段进行分组,而不能对 field 字段进行分组。这是因为在 InfluxDB 的数据模型中,tag 是用来标识和过滤数据的元数据,而 field 则是实际存储数据的值。
在查询语句中,将 GROUP BY 关键字与适当的 tag 键名结合使用,以指定要分组的标签。
SELECT <aggregate_function>(<field_key>) FROM <measurement_name> GROUP BY <tag_key>
示例:

8.时间窗口
结合 time() 函数以及指定的时间范围,可以在分组查询中创建时间窗口。例如:
GROUP BY time(<interval>)
其中 <interval> 可以是秒、分钟、小时等单位: interval 可以直接使用时间缩写:如 1d == 1天, 1h == 1小时, 5m = 5分钟, 10s == 10秒,
9.查看tag得字段有哪些值
不可以使用distinct函数,distinct 函数可以对field生效,但对tag查询会失效
SHOW TAG VALUES FROM measurement WITH KEY = "location" WHERE time > now() - 1h
10.聚合函数
在进行分组查询时,需要使用适当的聚合函数(如 mean()、sum()、count() 等)对 field 进行计算。这样可以根据每个分组计算出相应的结果。
##最大值
SELECT SUM(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>] ##平均值
SELECT MEAN(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>] ##返回一个字段(field)的唯一值
SELECT DISTINCT(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>] ##返回一个(field)字段中的非空值的数量
SELECT COUNT(<field_key>) FROM <measurement_name> [WHERE <stuff>] [GROUP BY <stuff>]
11.排序 order by time desc
influxdb 排序只能用于time 进行排序:升序:order by time asc,降序 order by time desc
select * from tableName order by time asc
12. FILL 数据空处理
空数据处理 fill(),相当于mysql的IFNULL的作用,但不能指定字段
给空数据赋予某个值,如下,给是空值的赋予0(可以赋予其它值,如-1、2),只能位于sql所有条件之后
select * from tableName fill(0)
influxdb常用sql总结的更多相关文章
- InfluxDB从原理到实战 - InfluxDB常用的基础操作
0x00 基础操作介绍 在本文中将介绍InfluxDB常用的基础操作,帮助读者建立对InfluxDB的感性认识,快速的动手玩起来,持续查询(Continuous Queies).Group by.Se ...
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数
花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...
- 常用SQL[ORACLE]
1.常用系统函数 2.常用sql语句 3.一些定义和关键字 4.需要注意点 1.常用系统函数 ↑ --decode decode(column,if_value,value,elseif_ ...
- Oracle常用SQL查询(2)
三.查看数据库的SQL 1 .查看表空间的名称及大小 select t.tablespace_name, round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...
- Oracle常用SQL查询
一.ORACLE的启动和关闭 1.在单机环境下要想启动或关闭oracle系统必须首先切换到oracle用户,如下: su - oracle a.启动Oracle系统 oracle>svrmgrl ...
- Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- 50个常用SQL语句
50个常用SQL语句 Student(S#,Sname,Sage,Ssex) 学生表 S#学号,主键 Course(C#,Cname,T#) 课程表 C#课程号,主键 SC(S#, ...
- 测试常用SQL注入语句大全
转载自Cracer,标题:<渗透常用SQL注入语句大全>,链接http://www.xxxx.com/?p=2226 1.判断有无注入点 整形参数判断 1.直接加' 2.and 1=1 3 ...
- oracle sqlplus及常用sql语句
常用sql语句 有需求才有动力 http://blog.csdn.net/yitian20000/article/details/6256716 常用sql语句 创建表空间:create tables ...
随机推荐
- 面试某大厂,被Channel给吊打了,这次一次性通关channel!
目录 一 前言 面试题 然后我们进行一下扩展,玩转Channel! 二 解决面试题 1. 介绍一下Channel 2. Channel在go中起什么作用 3. Channel为什么需要两个队列实现 4 ...
- RDIFramework.NET开发框架WinForm版新增编码管理
1.概述 编码管理是企业管理和信息化建设过程中一个至关重要的环节.各信息化系统是通过编码来标识业务对象的,统一的编码方案可以作为各系统的通话语言,也可以为信息化系统的集成提供便利.建设数据编码的基本原 ...
- Rust中的智能指针:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak<T>
Rust中的智能指针是什么 智能指针(smart pointers)是一类数据结构,是拥有数据所有权和额外功能的指针.是指针的进一步发展 指针(pointer)是一个包含内存地址的变量的通用概念.这个 ...
- Django框架——可视化界面之数据增删改查、Django请求生命周期、Django路由层、反向解析
可视化界面之数据增删改查 针对数据对象主键字段的获取可以使用更加方便的 obj.pk获取 在模型类中定义双下str方法可以在数据对象被执行打印操作的时候方便的查看 ''' form表单中能够触发调剂动 ...
- Swift Codable协议实战:快速、简单、高效地完成JSON和Model转换!
前言 Codable 是 Swift 4.0 引入的一种协议,它是一个组合协议,由 Decodable 和 Encodable 两个协议组成.它的作用是将模型对象转换为 JSON 或者是其它的数据格式 ...
- SQL Server 2022 AlwaysOn新特性之包含可用性组介绍
由于技术能力有限,文章仅能进行简要分析和说明,如有不对的地方,请指正,谢谢. SQL Server的容灾功能一直弱于Oracle和MySQL,无法自动同步元数据(用户.登录名.权限.SQL 代理作业. ...
- VS2022使用ClickOnce发布程序本地安装.net框架
因为遇到下面的错误,没有在网上搜到详细解决问题的教程,费了一些时间才解决了问题,特此记录一下,也希望能帮助到其他人. 要在"系统必备"对话框中启用"从与我的应用程序相同的 ...
- Prism Sample 7 Modules Code
例7对注册Module使用了配置命令. 见app.xaml.cs: 1 using Modules.Views; 2 using Prism.Ioc; 3 using Prism.Modularity ...
- Linux运维实战项⽬进阶
项⽬描述 项⽬需求 近年来为适应业务发展的需求,世界500强XX企业准备进⾏⼤规模的电⼦商务建设, 同时,希望能通过Linux平台,利⽤开源技术,来实现⼤型互联⽹电⼦商务⽹站架构建设和业务⽀撑,现要求 ...
- 【Dotnet 工具箱】DotNetCorePlugins- 动态加载和卸载 .NET 程序插件
你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用! 1. DotNetCorePlugins- 动态加载和卸载 .NET 程序插件 DotNetCore ...