如何从kdb表中删除随机行?

时间:2013-06-04 11:56:48

标签: kdb

如何从kdb表中删除前10行?我想特别删除从:

返回的前10行
select [10] from mytable

我尝试使用带有i索引的delete但行数不会减少:

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

delete语句也会向Q控制台返回一些行,不知道是什么行。

3 个答案:

答案 0 :(得分:6)

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

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日常使用的问题。

答案 1 :(得分:4)

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

答案 2 :(得分:0)

delete from mytable where i<10