如何从 kdb 表中删除前 10 行?我想专门删除从以下位置返回的前 10 行:
select [10] from mytable
我尝试将 delete 与 i 索引一起使用,但行数没有减少:
count mytable
2201784
delete from mytable where i < 10
count mytable
2201784
此外,delete 语句将许多行返回到我的 Q 控制台,但不确定那是什么。
如何从 kdb 表中删除前 10 行?我想专门删除从以下位置返回的前 10 行:
select [10] from mytable
我尝试将 delete 与 i 索引一起使用,但行数没有减少:
count mytable
2201784
delete from mytable where i < 10
count mytable
2201784
此外,delete 语句将许多行返回到我的 Q 控制台,但不确定那是什么。
如果要从表中就地删除,则应按名称引用它。
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 日常使用的许多问题。
您可以在表上使用drop
运算符_
,并将 10 作为 LHS 参数 mytable:10 _mytable
delete from mytable where i<10