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