TSL支持的SQL语法的聚集函数有如下几个特点:
支持时间序列,可以利用RefOf访问前几条的数据,也可以求移动的N条的统计,例如AvgOf(["close"],true,30),表示对收盘价求移动30日平均。
此外,还支持条件聚集,例如AvgOf(["close"],["close"]>["open"])就是对收盘大于开盘的求平均数,同时还支持条件聚集加移动,例如AvgOf(["close"],["close"]>["open"],30)就是对收盘大于开盘的最近30个收盘求平均。
TSL还支持多字段聚集返回,例如AvgOf ( * )则一次返回每个字段聚集的结果,利用多字段聚集的时候,同样支持条件聚集,用AggValue可以返回当前聚集的字段的值。例如:AvgOf( *,AggValue>10)则表示求每个字段大于10的平均数。当然也可以用Avgof( *,AggValue>10,20) 来求符合的移动平均。
多字段聚集返回还支持部分多字段聚集返回,利用AvgOf(0 to 2)就可以分别返回0,1,2字段的平均数。