dolphindb怎么实现在一段连续的时间里统计每个状态的总运行时间?或者实现像influxdb的ELAPSED函数的功能

一段连续的时间里统计每个状态的总运行时间。状态切换时,是上一个状态的时间,如1->3的时间是状态1运行的时间

请先 登录 后评论

1 个回答

haaha

可以通过增加一个nexttime时间列,通过group by segment(状态)实现

time=[2022.05.19 12:10:10,2022.05.19 12:10:11,2022.05.19 12:10:20,2022.05.19 12:10:22,2022.05.19 12:10:50]
v=[1,1,3,1,1]
t = table(time, v)
t[`nextTime] = next(t.time)
select first(time) as startTime, sum(nextTime - time) as duration, first(v) as v from t group by segment(v)
请先 登录 后评论