数据仓库服务 GAUSSDB(DWS)-函数和表达式:时序计算函数一览表

时间:2024-07-13 11:25:01

时序计算函数一览表

表1 时序计算支持的函数一览

功能

函数

用于计算按照时间排序后两行之间的差值。

delta

该函数用于计算某段时间内最大和最小值的差值。

spread

对给定的列,返回出现频率最高的值,如果多个值频率相同,返回这些值中最小的那个值。

mode()

计算百分位,是percentile_cont的近似算法。

value_of_percentile

给定百分位,计算对应的值。是value_of_percentile的逆运算。

percentile_of_value

通过比较column2列的值,找到其中的最小值,输出对应行column1列的值。

first

通过比较column2列的值,找到其中的最大值,输出对应行column1列的值。

last

用于获取时序表在当前DN节点上tag表的行数,只能在DN节点上使用。

get_timeline_count_internal

用于获取时序表在各个DN节点上tag表的行数,只能在CN节点上使用。

get_timeline_count

用于清理tag表中无用的tagid对应的行数据。

gs_clean_tag_relation

用于迁移单个时序表的分区管理任务,仅在时序表从8.1.1升级到8.1.3版本时使用。

ts_table_part_policy_pgjob_to_pgtask

用于迁移本数据库所有时序表的分区管理任务,仅在时序表从8.1.1升级到8.1.3版本时使用。

proc_part_policy_pgjob_to_pgtask

用于打印SQL语句,每条语句可用于迁移单个时序表的分区管理任务,仅在时序表从8.1.1升级到8.1.3版本时使用。

print_sql_part_policy_pgjob_to_pgtask

表2 按照时间填充的表达式

功能

表达式

对数据按照时间列排序后,补充缺失的时间数据信息(聚合以后的结果),补充的方法是用按照时间排序后的前值填充后值。

time_fill(interval, time_column, start_time, end_time), fill_last(agg_function(agg_column))

对数据按照时间列排序后,补充缺失的时间数据信息(聚合以后的结果),补充的方法是用按照时间排序后的后值填充前值。

time_fill(interval, time_column, start_time, end_time), fill_first(agg_function(agg_column))

对数据按照时间列排序后,补充缺失的时间数据信息(聚合以后的结果),补充的方法是用按照时间排序后前后两者的值填充当前值。

time_fill(interval, time_column, start_time, end_time), fill_avg(agg_function(agg_column))

表3 参数说明

参数名

类型

描述

Required/Option

interval

时间间隔类型:INTERVAL,最小单位是1秒。

按照时间分组的时间间隔。

Required

time_column

时间类型,timestamp/timestamptz。

按照指定列做时间分组。

Required

start_time

时间类型,timestamp/timestamptz。

分组的起始时间。

Required

end_time

时间类型,timestamp/timestamptz。

分组的结束时间。

Required

agg_function(agg_column))

指定Agg函数对指定列做聚合。比如max(col)。

对Agg的结果按照指定的填充方法填充。

Required

support.huaweicloud.com/IoT-devg-dws/dws_14_00007.html