当前位置 : 主页 > 手机开发 > 其它 >

KDB – 如何通过聚合返回功能选择中的所有值

来源:互联网 收集:自由互联 发布时间:2021-06-22
我有一张交易表: trade:([]time:`time$();sym:`symbol$();price:`float$();size:`int$())`trade insert(5?09:30:00.000;5?`a`b;5?10.75;5?100) 和聚合(aggr)功能: aggr:{[f;c;tab] ?[tab;();`sym;c!(f),'c] } 它适用于以下情况: ag
我有一张交易表:

trade:([]time:`time$();sym:`symbol$();price:`float$();size:`int$())
`trade insert(5?09:30:00.000;5?`a`b;5?10.75;5?100)

和聚合(aggr)功能:

aggr:{[f;c;tab]  ?[tab;();`sym;c!(f),'c] }

它适用于以下情况:

aggr[(last;min;max);(`time`size`price);`trade]

但是我想要所有的价格,而不仅仅是最大价格,如下所示:

?[trade;();`sym;(`time`size`price!((last;`time);( min;`size);(`price)))]

实现这一目标的最佳方法是什么?

你可以使用:: (identity function):

aggr[(last;min;::);(`time`size`price);`trade]

这与:

aggr[(last;min;{x});(`time`size`price);`trade]

::重载以用作monadic身份函数:

q)(::)1
1
q){x}1
1
网友评论