如何自定义用于 group by 的函数

请教一下 group by 后面的分组可以使用自定义函数吗?是否需要根据一定的规则自定义分组依据?
能否给一个简单的实例或文档说明 一下?

请先 登录 后评论

1 个回答

veryOrdinary

自定义的函数必须返回一个和表的列等长的向量,然后相当于根据这个结果列做 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


请先 登录 后评论
  • 1 关注
  • 0 收藏,673 浏览
  • Polly 提出于 2023-04-28 15:50

相似问题