我有这个kdb表:
ts ticker eid bid ask
--------------------------------------------------
09:30:00.001 TIF NASDAQ 781700 792500
09:30:00.001 MRVL BATSX 114500 118200
09:30:00.001 AVP BATSX 239100 240100
09:30:00.001 AVP ARCA 238000 239900
09:30:00.002 TIF ARCA 780400 790400
09:30:00.002 AVP BATSX 239100 239800
09:30:00.003 TIF NYSE 783700 784000
09:30:00.003 TIF ARCA 783400 790400
09:30:00.004 AVP NYSE 239300 240000
09:30:00.004 TIF NASDAQ 783500 792500
09:30:00.006 MRVL BATSX 114500 117600
..
如何选择每个自动收报机的最后一行,开斋节?对于这个子集:
09:30:00.001 AVP ARCA 238000 239900
09:30:00.002 AVP BATSX 239100 239800
09:30:00.003 TIF NYSE 783700 784000
09:30:00.003 TIF ARCA 783400 790400
09:30:00.004 AVP NYSE 239300 240000
09:30:00.004 TIF NASDAQ 783500 792500
09:30:00.006 MRVL BATSX 114500 117600
答案 0 :(得分:4)
默认不选择列列表:
select by ticker,eid form t
答案 1 :(得分:2)
以下内容应该是您正在寻找的内容:
q)select from tbl where i=(last;i) fby ([]ticker;eid)
答案 2 :(得分:1)
您可以聚合多个字段。
select count i by ticker, eid from t
select last ts, last bid, last ask by ticker, eid from t
您需要对列重新排序以与输出完全匹配,但这很简单。