我需要编写一个SQLlite查询,它将从200以上的表中删除行。我以为这会起作用:
DELETE FROM [tbl_names] WHERE count(*) > 200
但这给了我:滥用聚合函数count()
我知道我可以使用限制条款,但如果我使用:
DELETE FROM [tbl_names] LIMIT 200
看起来会删除前200行。
答案 0 :(得分:2)
SQLite中的所有行都有rowid字段,可用于查找大于200的行。例如:
DELETE FROM [tbl_names] WHERE rowid > 200
您还可以使用带限制的偏移量:
DELETE FROM [tbl_names] LIMIT 10000 offset 200
使用roqid似乎是更好的选择。