2009-10-15 30 views

Trả lời

9

Tôi giả sử bạn muốn xóa "1000 hàng đầu tiên" cho trật tự không được phân loại về kết quả "chọn" truy vấn không có phân loại đối số và không có tiêu chí, trong trường hợp này bạn đang làm điều gì sai.

Nhưng, như một bài tập học thuật, dưới đây là cách bạn muốn thực hiện. Tất cả các hàng trong một SQLite có trường rowid, mà bạn có thể sử dụng để tìm nơi 1000 hàng kết thúc.

sqlite> create table t(s string); 
sqlite> insert into t values('a1'); 
sqlite> insert into t values('a2'); 
sqlite> insert into t values('a3'); 
sqlite> insert into t values('a4'); 
sqlite> select * from t; 
a1 
a2 
a3 
a4 
sqlite> delete from t where rowid < (select rowid from t limit 2,1); 
sqlite> select * from t; 
a3 
a4 
5

http://www.sqlite.org/lang_delete.html

Nếu bạn đã có bản cập nhật SQLite hạn xóa kích hoạt

Delete from your_table 
where any_filter_you_wanted_as_well 
order by if_you_have_a_preference 
limit 1000 
+0

Tôi thực sự cảm thấy bực bội khi nhìn vào truy vấn của bạn (xin lỗi tôi là người mới chơi sql!) Tôi thử nhưng tôi không thể nhận được kết quả. – Dennie

Các vấn đề liên quan