从sqlite数据库中获取最后一行

时间:2013-07-16 02:28:38

标签: android sqlite

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

5 个答案:

答案 0 :(得分:8)

如果您已经获得了光标,那么这就是您从光标获取最后一条记录的方式:

  

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

//然后使用光标读取值

这样做

  

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

  

SELECT * FROM TABLE WHERE ID =(SELECT MAX(ID)FROM TABLE);

答案 1 :(得分:3)

这应该做你想要的:

SELECT *
FROM food_table
ORDER BY _id DESC
LIMIT 1

答案 2 :(得分:1)

尝试这样做可以帮助您提供表格的最后记录

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

现在从光标获取数据

答案 3 :(得分:1)

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

String selectQuery = "SELECT  * FROM  sqlite_sequence WHERE name = table_name";
Cursor cursor = db.rawQuery(selectQuery, null);
cursor.moveToLast();

答案 4 :(得分:0)

您可以在最后一行中使用修改后的查询....但是您必须使用任何列进行排序,例如在我的情况下,我的雇员 serial_no 列中< / strong>表,因此我的查询是

SELECT * FROM Employee ORDER BY serial_no DESC LIMIT 1

  • 限制1是您的情况,因为您只想要最后一条记录