5

如何从 kdb 表中删除前 10 行?我想专门删除从以下位置返回的前 10 行:

select [10] from mytable

我尝试将 delete 与 i 索引一起使用,但行数没有减少:

count mytable
2201784
delete from mytable where i < 10
count mytable
2201784

此外,delete 语句将许多行返回到我的 Q 控制台,但不确定那是什么。

4

3 回答 3

8

如果要从表中就地删除,则应按名称引用它。

delete from `mytable where i < 10

或者,重新分配:

mytable:delete from mytable where i<10

当您运行时delete from mytable where i<10,它会返回应用了更改的表,但不会将它们应用到mytable存储在内存中。

http://code.kx.com/q/cookbook/faq/#how-do-i-delete-rows-from-a-table

http://code.kx.com上的资源回答了有关 kdb 日常使用的许多问题。

于 2013-06-04T12:54:59.780 回答
4

您可以在表上使用drop运算符_,并将 10 作为 LHS 参数 mytable:10 _mytable

于 2013-06-04T14:31:17.550 回答
0
delete from mytable where i<10
于 2013-06-04T12:13:07.037 回答