tdengine根据时间对数据自动进行填充

TDengine数据库作为物联网数据库,支持interval函数用于填充数据。该函数在查询时用于填补数据间隔,例如每10分钟采集一次数据,但在展示1小时内数据时可以按指定间隔(如10秒)填充。interval函数需在limit之前使用,并配合聚合函数,如avg。缩量参数包括1u到1d,代表不同时间单位。注意查询时需设置具体时间范围,且不支持字符串类型和无聚合函数的查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tdengine作为物联网必备数据库,功能非常强大,当然它也支持一些比较特殊实用的函数。

interval这个函数在tdengine中是用来填充数据的,使用的场景:

当需要查询一个1小时内的数据时,但是可能采集时,是10分钟采集一次,展示的时候显示跨度太大,但是tdengine库中又没有那么多数据时,就得使用这种方式进行填充数据,可以根据缩量参数来确定填充的跨度。

select avg( n ) n from socker where  time > '2021-10-10 14:10:00.000' and time < '2021-10-10 14:30:00.000'  interval (10s) FILL(PREV)

缩量参数:1u、1a、1s、1m、1h、1d

分别代表:微秒、毫秒、秒、分、小时、天

注意点:

1、interval (缩量参数) FILL(PREV);函数使用在limit之前,其他所有函数之后。

2、缩量函数只支持数字类型数据;不支持字符串数据类型;即number 所代表的值是数字类型。

3、查询的字段中不能出现 '*'。

4、必须使用聚合函数来进行查询才能进行填充,否则也是会报错的。

5、填充时必须设置时间范围,范围过大是会报错的。

6、范围时间必须得是具体的时间,不能交给tedngine自己去获取,否则也容易出现问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值