有没有办法通过 table 中的索引 select 和 KDB 中的整数列表

Is there a way to select by index from a table with a list of integers in KDB

这是一个 table 每行都有一系列整数:

t: flip (enlist `myColumn)!enlist (1 2 3 4 5;6 7 8 9 10;11 12 13 14 15)

如何使用 select 语句访问所有行的特定索引? 这是我试过的:

select myColumn'[2] from t

我期望的结果是 table 和

myColumn
3
8
13

但是我收到语法错误。如何通过 select stmt 使用索引位置访问元素?

谢谢你

我想你想要的是

select myColumn:myColumn[;2] from t

因为列表中的位置由列的第二个索引给出。

如果结果不需要 table:

q)@[t;`myColumn]
1  2  3  4  5
6  7  8  9  10
11 12 13 14 15
q)@[t;`myColumn][2]
11 12 13 14 15
q)@[t;`myColumn][;2]
3 8 13

您可以看到,当使用 [2] 时,它采用第三个(2 的索引)值列表,而 [;2] 采用每个单独列表中的第三个值,创建第三列的值。

您需要使用 @ 进行索引。每行都是一个简单的向量,所以我们可以 index-at

q)select myColumn@'2 from t
x
--
3
8
13