gpt4 book ai didi

kdb 更新语句

转载 作者:行者123 更新时间:2023-12-05 00:33:08 25 4
gpt4 key购买 nike

看了所有的文档。为什么这不起作用?已加载随 KDB 分发提供的 sp.q 示例文件。我无法弄清楚这个陈述有什么问题。

q) \l sp.q
q)trade
date sym time price size
-----------------------------------------
2007.07.23 a 04:48:52.665 73.53941 1000
2007.07.23 a 04:48:52.675 81.73358 600
2007.07.23 a 04:48:52.725 78.79526 900
2007.07.23 a 04:48:52.735 79.59502 600
2007.07.23 b 04:48:52.655 84.59765 200
2007.07.23 b 04:48:52.685 98.36199 500
2007.07.23 b 04:48:52.705 97.49875 700
2007.07.23 c 04:48:52.645 61.48308 900
2007.07.23 c 04:48:52.695 61.53192 700
2007.07.23 c 04:48:52.715 71.95405 200

q)trade:update size:300 from trade where sym=`c,price>71
'par
q)trade
date sym time price size
-----------------------------------------
2007.07.23 a 04:48:52.665 73.53941 1000
2007.07.23 a 04:48:52.675 81.73358 600
2007.07.23 a 04:48:52.725 78.79526 900
2007.07.23 a 04:48:52.735 79.59502 600
2007.07.23 b 04:48:52.655 84.59765 200
2007.07.23 b 04:48:52.685 98.36199 500
2007.07.23 b 04:48:52.705 97.49875 700
2007.07.23 c 04:48:52.645 61.48308 900
2007.07.23 c 04:48:52.695 61.53192 700
2007.07.23 c 04:48:52.715 71.95405 200

最佳答案

trade是一个分区表,这就是失败的原因。你到底想做什么?如果你想在内存中创建一个编辑过的数据副本,你需要像

q)t:update size:300 from(select from trade)where sym=`c,price>71
q)t
date sym time price size
-----------------------------------------
2007.07.23 a 04:48:52.665 73.53941 1000
2007.07.23 a 04:48:52.675 81.73358 600
2007.07.23 a 04:48:52.725 78.79526 900
2007.07.23 a 04:48:52.735 79.59502 600
2007.07.23 b 04:48:52.655 84.59765 200
2007.07.23 b 04:48:52.685 98.36199 500
2007.07.23 b 04:48:52.705 97.49875 700
2007.07.23 c 04:48:52.645 61.48308 900
2007.07.23 c 04:48:52.695 61.53192 700
2007.07.23 c 04:48:52.715 71.95405 300
q)

如果您想更改磁盘上的数据,在一般情况下这非常困难。在这种特定情况下,您可以这样做:
q){.Q.dd[.Q.par[`:.;x;`trade];`]set update size:300 from(select from trade where date=x)where sym=`c,price>71}2007.07.23
`:./2007.07.23/trade/
q)\l .
q)trade
date sym time price size
-----------------------------------------
2007.07.23 a 04:48:52.665 73.53941 1000
2007.07.23 a 04:48:52.675 81.73358 600
2007.07.23 a 04:48:52.725 78.79526 900
2007.07.23 a 04:48:52.735 79.59502 600
2007.07.23 b 04:48:52.655 84.59765 200
2007.07.23 b 04:48:52.685 98.36199 500
2007.07.23 b 04:48:52.705 97.49875 700
2007.07.23 c 04:48:52.645 61.48308 900
2007.07.23 c 04:48:52.695 61.53192 700
2007.07.23 c 04:48:52.715 71.95405 300
q)

关于kdb 更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12488046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com