Kdb 如何查询此表以从符号列表中选择?
我想从符号列表中筛选出'1'的记录 示例表:Kdb 如何查询此表以从符号列表中选择?,kdb,Kdb,我想从符号列表中筛选出'1'的记录 示例表: tab:([]a:((``1`2);`a;b);c:1 2 3); 我试过这个: select from tab where a = `1 还包括: select from tab where `1 in raze a 这些都不管用。嘿,你的标签上出现了一个'b错误,所以我换了b->3 q)tab a c ------- ``1`2 1 `a 2 3 3 q)select from tab where max each`1
tab:([]a:((``1`2);`a;b);c:1 2 3);
我试过这个:
select from tab where a = `1
还包括:
select from tab where `1 in raze a
这些都不管用。嘿,你的标签上出现了一个
'b
错误,所以我换了b->3
q)tab
a c
-------
``1`2 1
`a 2
3 3
q)select from tab where max each`1~''a
a c
------
1 2 1
q)select from tab where not max each`1~''a
a c
----
`a 2
3 3
如果您有表格:
q)tab:([]a:((``1`2);`a;`b);c:1 2 3)
q)tab
a c
-------
``1`2 1
`a 2
`b 3
您可以将中的关键字与结合使用来删除所需的行:
q)select from tab where not `1 in/: a
a c
---
a 2
b 3
谢谢,这很有效!你知道使用每个右键背后的原理吗?因为a
是一个嵌套的符号列表,你想检查a
列中的每一行是否包含1<代码>非1 in/:a
将1 in
应用于a的每一行。有效地做到了这一点:1 in 1 2
1 in a
1 in b
=100b
,然后not
翻转以返回最后2行,这两行都可以实现,因为1是原子:而不是'a