自定义的函数必须返回一个和表的列等长的向量,然后相当于根据这个结果列做 group by。比如说:
nano = 21:00:00 + 1..4
price = 100+cumsum(rand(0.02, 4)-0.01)
volume = rand(1000, 4)
symbol = `000001`600000`601766`600519
t=table(symbol, nano, price, volume)
def grpfunc(v): iif(v> 50, 0, 1)
select sum(price) from t group by grpfunc(volume)
// output
grpfunc_volume sum_price
-------------- ------------------
0 299.97900406504516
1 99.987451835987158