以下所有示例基于 TDengine 3.1.0.3

TDengine函数大全

1.数学函数


2.字符串函数


3.转换函数


4.时间和日期函数


5.聚合函数


6.选择函数


7.时序数据库特有函数


8.系统函数


时序库特有函数

  • TDengine函数大全
  • CSUM
  • DERIVATIVE
  • DIFF
  • IRATE
  • MAVG
  • STATECOUNT
  • STATEDURATION
  • TWA


CSUM

CSUM(expr)

功能说明:累加和(Cumulative sum),输出行与输入行数相同。

返回结果类型: 输入列如果是整数类型返回值为长整型 (int64_t),浮点数返回值为双精度浮点数(Double)。无符号整数类型返回值为无符号长整型(uint64_t)。

适用数据类型:数值类型。

嵌套子查询支持: 适用于内层查询和外层查询。

适用于:表和超级表。

使用说明

  • 不支持 +、-、*、/ 运算,如 csum(col1) + csum(col2)。
  • 只能与聚合(Aggregation)函数一起使用。 该函数可以应用在普通表和超级表上。

示例:

> select ts,v1 from t7;
           ts            |     v1      |
========================================
 2023-08-01 01:01:00.000 | NULL        |
 2023-08-01 01:01:01.000 |           1 |
 2023-08-01 01:01:02.000 |           2 |
 2023-08-01 01:01:03.000 |           3 |
 2023-08-01 01:01:04.000 |           4 |
 2023-08-01 01:01:05.000 |           5 |
 2023-08-01 01:01:06.000 |           6 |
 2023-08-01 01:01:07.000 |           7 |
 2023-08-01 01:01:08.000 |           8 |
 2023-08-01 01:01:09.000 |           9 |
 2023-08-01 01:01:10.000 |          10 |
 2023-08-01 01:01:11.000 | NULL        |
 2023-08-01 01:01:12.000 |          10 |

> select csum(v1) from t7;
       csum(v1)        |
========================
                     1 |
                     3 |
                     6 |
                    10 |
                    15 |
                    21 |
                    28 |
                    36 |
                    45 |
                    55 |
                    65 |

> select ts,csum(v1) from t7;
           ts            |       csum(v1)        |
==================================================
 2023-08-01 01:01:01.000 |                     1 |
 2023-08-01 01:01:02.000 |                     3 |
 2023-08-01 01:01:03.000 |                     6 |
 2023-08-01 01:01:04.000 |                    10 |
 2023-08-01 01:01:05.000 |                    15 |
 2023-08-01 01:01:06.000 |                    21 |
 2023-08-01 01:01:07.000 |                    28 |
 2023-08-01 01:01:08.000 |                    36 |
 2023-08-01 01:01:09.000 |                    45 |
 2023-08-01 01:01:10.000 |                    55 |
 2023-08-01 01:01:12.000 |                    65 |

DERIVATIVE

DERIVATIVE(expr, time_interval, ignore_negative)

ignore_negative: {
    0
  | 1
}

功能说明:统计表中某列数值的单位变化率。其中单位时间区间的长度可以通过 time_interval 参数指定,最小可以是 1 秒(1s);ignore_negative 参数的值可以是 0 或 1,为 1 时表示忽略负值。

返回数据类型:DOUBLE。

适用数据类型:数值类型。

适用于:表和超级表。

使用说明:

  • 可以与选择相关联的列一起使用。 例如: select _rowts, DERIVATIVE() from。

示例:

> select ts,v1 from t7;
           ts            |     v1      |
========================================
 2023-08-01 01:01:00.000 | NULL        |
 2023-08-01 01:01:01.000 |           1 |
 2023-08-01 01:01:02.000 |           2 |
 2023-08-01 01:01:03.000 |           3 |
 2023-08-01 01:01:04.000 |           4 |
 2023-08-01 01:01:05.000 |           5 |
 2023-08-01 01:01:06.000 |           6 |
 2023-08-01 01:01:07.000 |           7 |
 2023-08-01 01:01:08.000 |           8 |
 2023-08-01 01:01:09.000 |           9 |
 2023-08-01 01:01:10.000 |          10 |
 2023-08-01 01:01:11.000 | NULL        |
 2023-08-01 01:01:12.000 |          10 |
 2023-08-01 01:01:13.000 |          -2 |
Query OK, 14 row(s) in set (0.001077s)

taos> select _rowts,derivative(v1,1s,0) from t7;
         _rowts          |    derivative(v1,1s,0)    |
======================================================
 2023-08-01 01:01:02.000 |         1.000000000000000 |
 2023-08-01 01:01:03.000 |         1.000000000000000 |
 2023-08-01 01:01:04.000 |         1.000000000000000 |
 2023-08-01 01:01:05.000 |         1.000000000000000 |
 2023-08-01 01:01:06.000 |         1.000000000000000 |
 2023-08-01 01:01:07.000 |         1.000000000000000 |
 2023-08-01 01:01:08.000 |         1.000000000000000 |
 2023-08-01 01:01:09.000 |         1.000000000000000 |
 2023-08-01 01:01:10.000 |         1.000000000000000 |
 2023-08-01 01:01:12.000 |         0.000000000000000 |
 2023-08-01 01:01:13.000 |       -12.000000000000000 |
Query OK, 11 row(s) in set (0.001550s)

taos> select _rowts,derivative(v1,1s,1) from t7;
         _rowts          |    derivative(v1,1s,1)    |
======================================================
 2023-08-01 01:01:02.000 |         1.000000000000000 |
 2023-08-01 01:01:03.000 |         1.000000000000000 |
 2023-08-01 01:01:04.000 |         1.000000000000000 |
 2023-08-01 01:01:05.000 |         1.000000000000000 |
 2023-08-01 01:01:06.000 |         1.000000000000000 |
 2023-08-01 01:01:07.000 |         1.000000000000000 |
 2023-08-01 01:01:08.000 |         1.000000000000000 |
 2023-08-01 01:01:09.000 |         1.000000000000000 |
 2023-08-01 01:01:10.000 |         1.000000000000000 |
 2023-08-01 01:01:12.000 |         0.000000000000000 |

DIFF

DIFF(expr [, ignore_negative])

ignore_negative: {
    0
  | 1
}

功能说明:统计表中某列的值与前一行对应值的差。 ignore_negative 取值为 0|1 , 可以不填,默认值为 0. 不忽略负值。ignore_negative 为 1 时表示忽略负数。

返回数据类型:同应用字段。

适用数据类型:数值类型。

适用于:表和超级表。

使用说明:

  • 输出结果行数是范围内总行数减一,第一行没有结果输出。
  • 可以与选择相关联的列一起使用。 例如: select _rowts, DIFF() from。

示例:

> select ts,v1 from t7;
           ts            |     v1      |
========================================
 2023-08-01 01:01:00.000 | NULL        |
 2023-08-01 01:01:01.000 |           1 |
 2023-08-01 01:01:02.000 |           2 |
 2023-08-01 01:01:03.000 |           3 |
 2023-08-01 01:01:04.000 |           4 |
 2023-08-01 01:01:05.000 |           5 |
 2023-08-01 01:01:06.000 |           6 |
 2023-08-01 01:01:07.000 |           7 |
 2023-08-01 01:01:08.000 |           8 |
 2023-08-01 01:01:09.000 |           9 |
 2023-08-01 01:01:10.000 |          10 |
 2023-08-01 01:01:11.000 | NULL        |
 2023-08-01 01:01:12.000 |          10 |
 2023-08-01 01:01:13.000 |          -2 |

> select _rowts,diff(v1) from t7;
         _rowts          |       diff(v1)        |
==================================================
 1970-01-01 08:00:00.000 | NULL                  |
 2023-08-01 01:01:02.000 |                     1 |
 2023-08-01 01:01:03.000 |                     1 |
 2023-08-01 01:01:04.000 |                     1 |
 2023-08-01 01:01:05.000 |                     1 |
 2023-08-01 01:01:06.000 |                     1 |
 2023-08-01 01:01:07.000 |                     1 |
 2023-08-01 01:01:08.000 |                     1 |
 2023-08-01 01:01:09.000 |                     1 |
 2023-08-01 01:01:10.000 |                     1 |
 1970-01-01 08:00:00.000 | NULL                  |
 2023-08-01 01:01:12.000 |                     0 |
 2023-08-01 01:01:13.000 |                   -12 |

> select _rowts,diff(v1,0) from t7;
         _rowts          |      diff(v1,0)       |
==================================================
 6426-05-31 11:01:03.576 | NULL                  |
 2023-08-01 01:01:02.000 |                     1 |
 2023-08-01 01:01:03.000 |                     1 |
 2023-08-01 01:01:04.000 |                     1 |
 2023-08-01 01:01:05.000 |                     1 |
 2023-08-01 01:01:06.000 |                     1 |
 2023-08-01 01:01:07.000 |                     1 |
 2023-08-01 01:01:08.000 |                     1 |
 2023-08-01 01:01:09.000 |                     1 |
 2023-08-01 01:01:10.000 |                     1 |
 2023-08-01 01:01:10.000 | NULL                  |
 2023-08-01 01:01:12.000 |                     0 |
 2023-08-01 01:01:13.000 |                   -12 |

> select _rowts,diff(v1,1) from t7;
         _rowts          |      diff(v1,1)       |
==================================================
 1970-01-01 08:00:00.000 | NULL                  |
 2023-08-01 01:01:02.000 |                     1 |
 2023-08-01 01:01:03.000 |                     1 |
 2023-08-01 01:01:04.000 |                     1 |
 2023-08-01 01:01:05.000 |                     1 |
 2023-08-01 01:01:06.000 |                     1 |
 2023-08-01 01:01:07.000 |                     1 |
 2023-08-01 01:01:08.000 |                     1 |
 2023-08-01 01:01:09.000 |                     1 |
 2023-08-01 01:01:10.000 |                     1 |
 1970-01-01 08:00:00.000 | NULL                  |
 2023-08-01 01:01:12.000 |                     0 |
 2023-08-01 01:01:13.000 | NULL                  |

IRATE

IRATE(expr)

功能说明:计算瞬时增长率。使用时间区间中最后两个样本数据来计算瞬时增长速率;如果这两个值呈递减关系,那么只取最后一个数用于计算,而不是使用二者差值。

返回数据类型:DOUBLE。

适用数据类型:数值类型。

适用于:表和超级表。

示例:

> select ts,v1 from t7;
           ts            |     v1      |
========================================
 2023-08-01 01:01:00.000 | NULL        |
 2023-08-01 01:01:01.000 |           1 |
 2023-08-01 01:01:02.000 |           2 |
 2023-08-01 01:01:03.000 |           3 |
 2023-08-01 01:01:04.000 |           4 |
 2023-08-01 01:01:05.000 |           5 |
 2023-08-01 01:01:06.000 |           6 |
 2023-08-01 01:01:07.000 |           7 |
 2023-08-01 01:01:08.000 |           8 |
 2023-08-01 01:01:09.000 |           9 |
 2023-08-01 01:01:10.000 |          10 |
 2023-08-01 01:01:11.000 | NULL        |
 2023-08-01 01:01:12.000 |          10 |
 2023-08-01 01:01:13.000 |          -2 |

> select irate(v1) from t7 where ts>='2023-08-01 01:01:10.000' and ts<='2023-08-01 01:01:12.000';
         irate(v1)         |
============================
         0.000000000000000 |

> select irate(v1) from t7 where ts>='2023-08-01 01:01:01.000' and ts<='2023-08-01 01:01:04.000';
         irate(v1)         |
============================
         1.000000000000000 |

> select _wstart,irate(v1) from t7 interval(2s);
         _wstart         |         irate(v1)         |
======================================================
 2023-08-01 01:01:00.000 |         0.000000000000000 |
 2023-08-01 01:01:02.000 |         1.000000000000000 |
 2023-08-01 01:01:04.000 |         1.000000000000000 |
 2023-08-01 01:01:06.000 |         1.000000000000000 |
 2023-08-01 01:01:08.000 |         1.000000000000000 |
 2023-08-01 01:01:10.000 |         0.000000000000000 |
 2023-08-01 01:01:12.000 |        -2.000000000000000 |

MAVG

MAVG(expr, k)

功能说明: 计算连续 k 个值的移动平均数(moving average)。如果输入行数小于 k,则无结果输出。参数 k 的合法输入范围是 1≤ k ≤ 1000。

返回结果类型: DOUBLE。

适用数据类型: 数值类型。

嵌套子查询支持: 适用于内层查询和外层查询。

适用于:表和超级表。

使用说明

  • 不支持 +、-、*、/ 运算,如 mavg(col1, k1) + mavg(col2, k1);
  • 只能与普通列,选择(Selection)、投影(Projection)函数一起使用,不能与聚合(Aggregation)函数一起使用;

示例:

> select ts,v1 from t7;
           ts            |     v1      |
========================================
 2023-08-01 01:01:00.000 | NULL        |
 2023-08-01 01:01:01.000 |           1 |
 2023-08-01 01:01:02.000 |           2 |
 2023-08-01 01:01:03.000 |           3 |
 2023-08-01 01:01:04.000 |           4 |
 2023-08-01 01:01:05.000 |           5 |
 2023-08-01 01:01:06.000 |           6 |
 2023-08-01 01:01:07.000 |           7 |
 2023-08-01 01:01:08.000 |           8 |
 2023-08-01 01:01:09.000 |           9 |
 2023-08-01 01:01:10.000 |          10 |
 2023-08-01 01:01:11.000 | NULL        |
 2023-08-01 01:01:12.000 |          10 |
 2023-08-01 01:01:13.000 |          -2 |

> select ts,mavg(v1,2) from t7;
           ts            |        mavg(v1,2)         |
======================================================
 2023-08-01 01:01:02.000 |         1.500000000000000 |
 2023-08-01 01:01:03.000 |         2.500000000000000 |
 2023-08-01 01:01:04.000 |         3.500000000000000 |
 2023-08-01 01:01:05.000 |         4.500000000000000 |
 2023-08-01 01:01:06.000 |         5.500000000000000 |
 2023-08-01 01:01:07.000 |         6.500000000000000 |
 2023-08-01 01:01:08.000 |         7.500000000000000 |
 2023-08-01 01:01:09.000 |         8.500000000000000 |
 2023-08-01 01:01:10.000 |         9.500000000000000 |
 2023-08-01 01:01:12.000 |        10.000000000000000 |
 2023-08-01 01:01:13.000 |         4.000000000000000 |

> select ts,mavg(v1,4) from t7;
           ts            |        mavg(v1,4)         |
======================================================
 2023-08-01 01:01:04.000 |         2.500000000000000 |
 2023-08-01 01:01:05.000 |         3.500000000000000 |
 2023-08-01 01:01:06.000 |         4.500000000000000 |
 2023-08-01 01:01:07.000 |         5.500000000000000 |
 2023-08-01 01:01:08.000 |         6.500000000000000 |
 2023-08-01 01:01:09.000 |         7.500000000000000 |
 2023-08-01 01:01:10.000 |         8.500000000000000 |
 2023-08-01 01:01:12.000 |         9.250000000000000 |
 2023-08-01 01:01:13.000 |         6.750000000000000 |

STATECOUNT

STATECOUNT(expr, oper, val)

功能说明:返回满足某个条件的连续记录的个数,结果作为新的一列追加在每行后面。条件根据参数计算,如果条件为 true 则加 1,条件为 false 则重置为-1,如果数据为 NULL,跳过该条数据。

参数范围

  • oper : “LT” (小于)、“GT”(大于)、“LE”(小于等于)、“GE”(大于等于)、“NE”(不等于)、“EQ”(等于),不区分大小写。
  • val : 数值型

返回结果类型:INTEGER。

适用数据类型:数值类型。

嵌套子查询支持:不支持应用在子查询上。

适用于:表和超级表。

使用说明

  • 不能和窗口操作一起使用,例如 interval/state_window/session_window。

示例:

> select ts,v1 from t7;
           ts            |     v1      |
========================================
 2023-08-01 01:01:00.000 | NULL        |
 2023-08-01 01:01:01.000 |           1 |
 2023-08-01 01:01:02.000 |           2 |
 2023-08-01 01:01:03.000 |           3 |
 2023-08-01 01:01:04.000 |           4 |
 2023-08-01 01:01:05.000 |           5 |
 2023-08-01 01:01:06.000 |           6 |
 2023-08-01 01:01:07.000 |           7 |
 2023-08-01 01:01:08.000 |           8 |
 2023-08-01 01:01:09.000 |           9 |
 2023-08-01 01:01:10.000 |          10 |
 2023-08-01 01:01:11.000 | NULL        |
 2023-08-01 01:01:12.000 |          10 |
 2023-08-01 01:01:13.000 |          -2 |

> select ts,statecount(v1,'GT',5) from t7;
           ts            | statecount(v1,'GT',5) |
==================================================
 2023-08-01 01:01:00.000 | NULL                  |
 2023-08-01 01:01:01.000 |                    -1 |
 2023-08-01 01:01:02.000 |                    -1 |
 2023-08-01 01:01:03.000 |                    -1 |
 2023-08-01 01:01:04.000 |                    -1 |
 2023-08-01 01:01:05.000 |                    -1 |
 2023-08-01 01:01:06.000 |                     1 |
 2023-08-01 01:01:07.000 |                     2 |
 2023-08-01 01:01:08.000 |                     3 |
 2023-08-01 01:01:09.000 |                     4 |
 2023-08-01 01:01:10.000 |                     5 |
 2023-08-01 01:01:11.000 | NULL                  |
 2023-08-01 01:01:12.000 |                     6 |
 2023-08-01 01:01:13.000 |                    -1 |

> select ts,statecount(v1,'GT',1) from t7;
           ts            | statecount(v1,'GT',1) |
==================================================
 2023-08-01 01:01:00.000 | NULL                  |
 2023-08-01 01:01:01.000 |                    -1 |
 2023-08-01 01:01:02.000 |                     1 |
 2023-08-01 01:01:03.000 |                     2 |
 2023-08-01 01:01:04.000 |                     3 |
 2023-08-01 01:01:05.000 |                     4 |
 2023-08-01 01:01:06.000 |                     5 |
 2023-08-01 01:01:07.000 |                     6 |
 2023-08-01 01:01:08.000 |                     7 |
 2023-08-01 01:01:09.000 |                     8 |
 2023-08-01 01:01:10.000 |                     9 |
 2023-08-01 01:01:11.000 | NULL                  |
 2023-08-01 01:01:12.000 |                    10 |
 2023-08-01 01:01:13.000 |                    -1 |

STATEDURATION

STATEDURATION(expr, oper, val, unit)

功能说明:返回满足某个条件的连续记录的时间长度,结果作为新的一列追加在每行后面。条件根据参数计算,如果条件为 true 则加上两个记录之间的时间长度(第一个满足条件的记录时间长度记为 0),条件为 false 则重置为-1,如果数据为 NULL,跳过该条数据。

参数范围

  • oper : 'LT' (小于)、'GT'(大于)、'LE'(小于等于)、'GE'(大于等于)、'NE'(不等于)、'EQ'(等于),不区分大小写,但需要用''包括。
  • val : 数值型
  • unit : 时间长度的单位,可取值时间单位: 1b(纳秒), 1u(微秒),1a(毫秒),1s(秒),1m(分),1h(小时),1d(天), 1w(周)。如果省略,默认为当前数据库精度。

返回结果类型:INTEGER。

适用数据类型:数值类型。

嵌套子查询支持:不支持应用在子查询上。

适用于:表和超级表。

使用说明

  • 不能和窗口操作一起使用,例如 interval/state_window/session_window。

示例:

> select ts,v1 from t7;
           ts            |     v1      |
========================================
 2023-08-01 01:01:00.000 | NULL        |
 2023-08-01 01:01:01.000 |           1 |
 2023-08-01 01:01:02.000 |           2 |
 2023-08-01 01:01:03.000 |           3 |
 2023-08-01 01:01:04.000 |           4 |
 2023-08-01 01:01:05.000 |           5 |
 2023-08-01 01:01:06.000 |           6 |
 2023-08-01 01:01:07.000 |           7 |
 2023-08-01 01:01:08.000 |           8 |
 2023-08-01 01:01:09.000 |           9 |
 2023-08-01 01:01:10.000 |          10 |
 2023-08-01 01:01:11.000 | NULL        |
 2023-08-01 01:01:12.000 |          10 |
 2023-08-01 01:01:13.000 |          -2 |

> select  ts,stateduration(v1,'GT',5,1a) from t7;
           ts            | stateduration(v1,'GT',5,1a) |
========================================================
 2023-08-01 01:01:00.000 | NULL                        |
 2023-08-01 01:01:01.000 |                          -1 |
 2023-08-01 01:01:02.000 |                          -1 |
 2023-08-01 01:01:03.000 |                          -1 |
 2023-08-01 01:01:04.000 |                          -1 |
 2023-08-01 01:01:05.000 |                          -1 |
 2023-08-01 01:01:06.000 |                           0 |
 2023-08-01 01:01:07.000 |                        1000 |
 2023-08-01 01:01:08.000 |                        2000 |
 2023-08-01 01:01:09.000 |                        3000 |
 2023-08-01 01:01:10.000 |                        4000 |
 2023-08-01 01:01:11.000 | NULL                        |
 2023-08-01 01:01:12.000 |                        6000 |
 2023-08-01 01:01:13.000 |                          -1 |

> select  ts,stateduration(v1,'GT',5,1s) from t7;
           ts            | stateduration(v1,'GT',5,1s) |
========================================================
 2023-08-01 01:01:00.000 | NULL                        |
 2023-08-01 01:01:01.000 |                          -1 |
 2023-08-01 01:01:02.000 |                          -1 |
 2023-08-01 01:01:03.000 |                          -1 |
 2023-08-01 01:01:04.000 |                          -1 |
 2023-08-01 01:01:05.000 |                          -1 |
 2023-08-01 01:01:06.000 |                           0 |
 2023-08-01 01:01:07.000 |                           1 |
 2023-08-01 01:01:08.000 |                           2 |
 2023-08-01 01:01:09.000 |                           3 |
 2023-08-01 01:01:10.000 |                           4 |
 2023-08-01 01:01:11.000 | NULL                        |
 2023-08-01 01:01:12.000 |                           6 |
 2023-08-01 01:01:13.000 |                          -1 |

> select  ts,stateduration(v1,'GT',5,1m) from t7;
           ts            | stateduration(v1,'GT',5,1m) |
========================================================
 2023-08-01 01:01:00.000 | NULL                        |
 2023-08-01 01:01:01.000 |                          -1 |
 2023-08-01 01:01:02.000 |                          -1 |
 2023-08-01 01:01:03.000 |                          -1 |
 2023-08-01 01:01:04.000 |                          -1 |
 2023-08-01 01:01:05.000 |                          -1 |
 2023-08-01 01:01:06.000 |                           0 |
 2023-08-01 01:01:07.000 |                           0 |
 2023-08-01 01:01:08.000 |                           0 |
 2023-08-01 01:01:09.000 |                           0 |
 2023-08-01 01:01:10.000 |                           0 |
 2023-08-01 01:01:11.000 | NULL                        |
 2023-08-01 01:01:12.000 |                           0 |
 2023-08-01 01:01:13.000 |                          -1 |

TWA

TWA(expr)

功能说明:时间加权平均函数。统计表中某列在一段时间内的时间加权平均。

返回数据类型:DOUBLE。

适用数据类型:数值类型。

适用于:表和超级表。

示例:

> select ts,v1 from t7;
           ts            |     v1      |
========================================
 2023-08-01 01:01:00.000 | NULL        |
 2023-08-01 01:01:01.000 |           1 |
 2023-08-01 01:01:02.000 |           2 |
 2023-08-01 01:01:03.000 |           3 |
 2023-08-01 01:01:04.000 |           4 |
 2023-08-01 01:01:05.000 |           5 |
 2023-08-01 01:01:06.000 |           6 |
 2023-08-01 01:01:07.000 |           7 |
 2023-08-01 01:01:08.000 |           8 |
 2023-08-01 01:01:09.000 |           9 |
 2023-08-01 01:01:10.000 |          10 |
 2023-08-01 01:01:11.000 | NULL        |
 2023-08-01 01:01:12.000 |          10 |
 2023-08-01 01:01:13.000 |          -2 |

> select _wstart,twa(v1) from t7 interval(1s);
         _wstart         |          twa(v1)          |
======================================================
 2023-08-01 01:01:00.000 |         0.000000000000000 |
 2023-08-01 01:01:01.000 |         1.499500000000000 |
 2023-08-01 01:01:02.000 |         2.499500000000000 |
 2023-08-01 01:01:03.000 |         3.499500000000000 |
 2023-08-01 01:01:04.000 |         4.499499999999999 |
 2023-08-01 01:01:05.000 |         5.499499999999999 |
 2023-08-01 01:01:06.000 |         6.499499999999999 |
 2023-08-01 01:01:07.000 |         7.499499999999999 |
 2023-08-01 01:01:08.000 |         8.499500000000001 |
 2023-08-01 01:01:09.000 |         9.499500000000001 |
 2023-08-01 01:01:10.000 |         5.005000000000000 |
 2023-08-01 01:01:11.000 |         0.000000000000000 |
 2023-08-01 01:01:12.000 |         4.006000976562500 |
 2023-08-01 01:01:13.000 |        -2.000000000000000 |

> select _wstart,twa(v1) from t7 interval(2s);
         _wstart         |          twa(v1)          |
======================================================
 2023-08-01 01:01:00.000 |         1.499500000000000 |
 2023-08-01 01:01:02.000 |         2.999500000000000 |
 2023-08-01 01:01:04.000 |         4.999499999999999 |
 2023-08-01 01:01:06.000 |         6.999499999999999 |
 2023-08-01 01:01:08.000 |         8.999500000000001 |
 2023-08-01 01:01:10.000 |         9.995000000000001 |
 2023-08-01 01:01:12.000 |         3.999999511718750 |