2013-05-08 31 views

Trả lời

18

Lấy hồ sơ với các ID lớn nhất đầu tiên, sau đó dừng lại sau khi kỷ lục đầu tiên:

SELECT * FROM MyTable ORDER BY id DESC LIMIT 1 
+1

Truy vấn trên Tìm kiếm n bản ghi, sau đó sắp xếp bản ghi n, sau đó nhận được 1 bản ghi ... ?????? truy vấn này có hiệu quả không, nó cần điều chỉnh. Dưới đây câu trả lời của @Newbie là tốt hơn nhiều về hiệu quả. –

+4

Trong truy vấn LIMIT * n *, SQLite chỉ giữ * n * hàng lớn nhất trong khi sắp xếp. Và nếu cột được lập chỉ mục, không cần sắp xếp. –

1

Nếu bạn muốn biết cú pháp truy vấn:

String query = "SELECT MAX(id) AS max_id FROM mytable"; 
7

Cũng giống như mysql, bạn có thể sử dụng MAX()

ví dụ SELECT MAX(id) AS member_id, name, value FROM YOUR_TABLE_NAME

+0

Tôi muốn chọn giá trị không phải id. – abidinberkay

+0

Tôi đã cập nhật mã của mình. Điều đó sẽ hoạt động ngay bây giờ – Lian

+0

xin lỗi Tôi quên lưu chỉnh sửa của tôi – Lian

0

Hãy thử điều này:

SELECT value FROM table WHERE id==(SELECT max(id) FROM table)); 
+0

'==' không tồn tại trong SQL, nếu tôi không nhầm. – RichouHunter

+0

Nó tồn tại trong SQLite: https://sqlite.org/lang_expr.html – sergi

+0

Được rồi, đủ công bằng. – RichouHunter

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