我正在学习 KDB+ 和 Q 编程并阅读以下语句 - “select 对列列表执行向量操作”。这里的向量运算是什么意思?有人可以举例说明吗?另外,它比标准 SQL 更快吗?
我有一张带有价格信息的桌子。并构建一个前端功能,允许用户查看过去 X 分钟(用户指定 X)的所有价格。
我如何在q中查询这个?
如何从表中选择特定列值等于某值的所有行?我已经尝试过以下方法:
select from tablname where columnvalue = value
Run Code Online (Sandbox Code Playgroud)
谢谢
func:raze {select compTypeOrigin from .get.order[2021.10.01;string x]}
list:(``abc`def`ggh``eef)
Run Code Online (Sandbox Code Playgroud)
当我运行这个函数时它起作用了
raze {select compTypeOrigin from .get.order[2021.10.01;string x]} `abc
Run Code Online (Sandbox Code Playgroud)
但当它为空时(`),我收到类型错误,可能是由于函数 .get.order
我尝试使用受保护的评估来运行该函数
@[func;each list[0 + til 6];show]
Run Code Online (Sandbox Code Playgroud)
但它不起作用我怎样才能跳过该错误?
q当我尝试回忆上一个命令或移动光标时,我收到打印的代码:
^[[D^[[C^[[A^[[B
Run Code Online (Sandbox Code Playgroud)
IIUC 这些是左、右、上、下箭头的表示,它们被 shell 解释为进行光标移动,但在q. 有没有办法在qlinux下拥有这个“功能”?我究竟做错了什么?因为当语言本身是从右到左评估时,从左到右打字并不总是容易没有任何错误。事实上,这几乎从来都不容易……
可以说我有一个嵌套的list: (`a`b`c;`d`e`f;`g`h`i)
我有另一个索引列表i:(1 0 3)
如何使用索引列表从列表中检索符号。所需的输出应该是(`b`d`)(最后一个符号为空)
谢谢!
我有一个表,其中包含如下所示的符号类型列。
| 姓名 | 价值 |
|---|---|
| 第一的 | TP_RTD_FRV |
| 第二 | RF_QWE_FRV |
| 第三 | KF_FRV_POL |
我需要如下更新它,只要有 FRV,我就需要将其替换为 AB_FRV。如何实现这一目标?
| 姓名 | 价值 |
|---|---|
| 第一的 | TP_RTD_AB_FRV |
| 第二 | RF_QWE_AB_FRV |
| 第三 | KF_AB_FRV_POL |
我有一种实现此目标的方法,这也解释了我的问题。
a:1 2 3 4;
b:5 6 7;
cond:1101001b;
comb:(count cond) # 0N;
comb[where cond]:a;
comb[where not cond]:b
Run Code Online (Sandbox Code Playgroud)
但是 q 有很多用于操作列表的实用程序,我想知道是否有更直接的方法来做到这一点。
我有一个订阅 TP 的引擎。TP中的表名称称为TradeTab。当我在引擎中订阅时,我希望该表名为 TradeRec。这怎么可能做到呢?
h(`.u.sub;`TradeTab;`long$til 10)
Run Code Online (Sandbox Code Playgroud) kdb ×10