6

我正在尝试从我的 SQLite 数据库中获取最后一行。到目前为止,我已经尝试过 max,sql_sequence 但似乎没有任何效果。我必须获取行值并将其分配给类变量。感谢任何帮助,因为我是 SQLite 和 Android 的新手。谢谢..

4

5 回答 5

12

如果您已经获得了cursor,那么您可以通过以下方式获得最后一条记录cursor

cursor.moveToPosition(cursor.getCount() - 1);

然后用于cursor读取值

或者

像这样做

Cursor cursor = db.rawQuery(selectQuery, null);
cursor.moveToLast();

或者

SELECT * FROM TABLE WHERE ID = (SELECT MAX(ID) FROM TABLE);
于 2013-07-16T02:36:58.097 回答
3

这应该做你想要的:

SELECT *
FROM food_table
ORDER BY _id DESC
LIMIT 1
于 2013-07-16T02:53:13.667 回答
1

试试这个它可以帮助你它给出你表的最后记录

Cursor mCursor = db.rawQuery("Select * from  TableName", null);
mCursor.moveToLast();

现在从光标处获取数据

于 2013-07-16T05:11:33.870 回答
1

通常有一个名为的表sqlite_sequence,它存储 SQLite 数据库中所有表的最高主键。所以使用以下

String selectQuery = "SELECT  * FROM  sqlite_sequence WHERE name = table_name";
Cursor cursor = db.rawQuery(selectQuery, null);
cursor.moveToLast();
于 2015-08-25T20:02:03.073 回答
0

您可以在最后一行使用修改后的查询....但是您必须使用任何列按顺序排序,例如在我的Employee表中有一个serial_no列,所以我的查询是

SELECT * FROM Employee ORDER BY serial_no DESC LIMIT 1

  • limit 1 是你的情况,因为你只想要最后一条记录
于 2020-07-03T07:43:43.370 回答