【发布时间】:2017-09-15 06:07:53
【问题描述】:
我有一张桌子
t:flip `date`sym`ts`qty!(`d1`d1`d1`d1`d1`d1`d2;`s1`s1`s2`s1`s1`s2`s1;`t1`t1`t2`t3`t4`t5`t1;-100 -100 200 200 500 -300 -400)
date sym ts qty
d1 s1 t1 -100
d1 s1 t1 -100
d1 s2 t2 200
d1 s1 t3 200
d1 s1 t4 500
d1 s2 t5 -300
d2 s1 t1 -400
我想获得同一天每个 sym 的累计数量
date sym ts qty cumsum
d1 s1 t1 -100 -200 // -100 - 100
d1 s2 t2 200 200 // 200
d1 s1 t3 200 0 // -100 -100 + 200
d1 s1 t4 500 500 // -100 -100 + 200 + 500
d1 s2 t5 -300 -100 // 200 - 300
d2 s1 t1 -400 -400 // -400 (date is d2)
我尝试过使用
select sums qty by date, ts, sym from t
但我只设法将具有相同键 datets`sym 的行折叠到一个列表中,但它并没有给我一个滚动总和。有什么建议吗?
编辑: 所以,基本上我想附加一个列来显示我将从这个查询中得到的值
select sum qty from t where sym =`symbol_of_this_row, ts <= ts_of_this_row, date = _date_of_this_row
【问题讨论】:
标签: kdb