我有一张交易表: 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