2013-05-08 57 views

回答

18

獲取具有最大ID的記錄,然後再第一條記錄後停止:

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

查詢上面搜索n條記錄,然後排列n條記錄,然後得到1條記錄...... ??????這個查詢是否有效,需要調整。 @Newbie的回答在效率方面要好得多。 – 2016-12-26 11:40:15

+4

在LIMIT * n *查詢中,SQLite在排序時只保留* n *個最大的行。如果列被索引,則不需要排序。 – 2016-12-26 13:39:06

1

如果你想知道的查詢語法:

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

就像MySQL,你可以使用MAX()

例如SELECT MAX(id) AS member_id, name, value FROM YOUR_TABLE_NAME

+0

我要選擇的值不會標識。 – abidinberkay 2013-05-08 09:08:52

+0

我更新了我的代碼。這應該現在工作 – Lian 2013-05-08 09:20:21

+0

對不起,我忘了保存我的編輯 – Lian 2013-05-08 09:27:36

0

試試這個:

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

如果我沒有弄錯,'=='在SQL中不存在。 – RichouHunter 2017-04-27 16:21:34

+0

它存在於SQLite中:https://sqlite.org/lang_expr.html – sergi 2017-04-27 16:29:57

+0

好吧,夠公平的。 – RichouHunter 2017-04-27 16:31:31