How can I delete the first 10 rows from a kdb table? I want to delete specifically the first 10 rows returned from:
select [10] from mytable
I tried to use delete with the i index but the count of rows does not decrease:
count mytable
2201784
delete from mytable where i < 10
count mytable
2201784
Also the delete statement returns a number of rows to my Q console, not sure what that is.
If you want to delete in-place from the table, you should reference it by name.
delete from `mytable where i < 10
Alternatively, reassign:
mytable:delete from mytable where i<10
When you run delete from mytable where i<10
, it returns the table with the changes applied but does not apply them to mytable
stored in memory.
http://code.kx.com/q/cookbook/faq/#how-do-i-delete-rows-from-a-table
The resources at http://code.kx.com answer many questions regarding day-to-day use of kdb.
you can use the drop
operator _
on the table, and have 10 as your LHS argument
mytable:10 _mytable
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With