如何在kdb / q中将多两列数据在一起?

时间:2018-09-25 19:00:36

标签: kdb

我正在尝试自学kdb / q编程。我似乎无法弄清楚如何获取一个简单的表(列symbolpriceshares)并乘以price * shares得到volume。我已经阅读了《真人快打》,code.kx.com等的《 Q》,陷入困境。有人可以给我一个提示或指向我可以解决这个简单问题的方向!谢谢

2 个答案:

答案 0 :(得分:6)

其中t是表名:

update volume: price*shares from t

t: select symbol, price, shares, volume:price*shares from t

答案 1 :(得分:2)

检出q-sql以进行选择/更新查询。

这是您要使用的update语句:

q)trade:([] symbol:5?`APPL`GOOG;  price:5?100.; shares:5?10)

q)update volume:price*shares from  trade
symbol price    shares volume
-------------------------------
APPL   21.09    6      126.54
APPL   88.22095 8      705.7676
APPL   25.0192  4      100.0768
GOOG   51.68842 1      51.68842
APPL   53.8142  8      430.5136

但是,我建议您选中Q for mortals,它几​​乎涵盖了Kdb +初学者的所有内容。