xuan.wang created IOTDB-4746:
--------------------------------

             Summary: 支持对不固定子节点的函数运算
                 Key: IOTDB-4746
                 URL: https://issues.apache.org/jira/browse/IOTDB-4746
             Project: Apache IoTDB
          Issue Type: Improvement
          Components: Core/Query
            Reporter: xuan.wang


*Is your feature request related to a problem? Please describe.*
当我查询一些最新数据时,比如查询最新的10条,可以通过order by time desc limit 10。
但是有时候需要对查询回来的每一行的数据做运算,比如求和、取平均值等等。
当子节点明确时 可以通过 select s1+s2+s3 from root.data.g_0.d_0 order by time desc limit 10;
但现实的场景中子节点是不固定的,名称也是未知的。
可以通过目前的group by对子节点进行聚合后进行函数运算,但是无法支持取最近10个时间序列每一个时间点的单独计算。

_现在可以查询出来后通过遍历每一行、每一个子节点来进行计算。_
_或者通过采集间隔,计算出时间点 结合 group by (),level=来进行查询,_
_比如: 5s采集一次,取最近10条,当前时间为2022-10-18T17:23:54,则50s前为2022-10-18T17:23:04_
_select * from root.data.g_0.d_0._ where time > 2022-10-18T17:23:04 group by 
([2022-10-18T17:23:04, 2022-10-18T17:23:54), 5s),level=1,2,3

*Describe the solution you'd like*
是否可以增加一些函数用来对子节点的值进行计算。比如 增加 node_sum 函数
比如 {{select node_sum(*) from root.data.g_0.d_0.* order by time desc limit 10;}}
+-----------------------------+-------------------------------------------------------------------+
| Time| node_sum(root.data.g_0.d_0.{_})|{_}
_+-----------------------------+-------------------------------------------------------------------+_
_|2022-10-18T16:41:24.195+08:00| 0.0|_
_|2022-10-18T16:41:09.195+08:00| 0.0|_
_|2022-10-18T16:40:54.195+08:00| 0.0|_
_|2022-10-18T16:40:39.195+08:00| 0.0|_
_|2022-10-18T16:40:24.195+08:00| 0.0|_
_|2022-10-18T16:40:09.195+08:00| 0.0|_
_|2022-10-18T16:39:54.195+08:00| 5.36E8|_
_|2022-10-18T16:39:39.822+08:00| 5.82E8|_
_|2022-10-18T16:39:24.195+08:00| 0.0|_
_|2022-10-18T16:39:09.195+08:00| 0.0|_

_+--------------------------------+----------------------------------------------------------------+_



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to