Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GET MAX ID ROW OF A TABLE

My question is about how get the max id row of a table... I'm using max function but give me a error

enter image description here

Here is my code

     public static long getLastIdQuotaAdded(Context context){
    long id;
    Cursor cursor;
    String selection = null;
    String[] selectionArgs = null;

    selection = "MAX(" + C_ID + ")";

    cursor=context.getContentResolver().query(URI, ALL_COLUMNS, selection, selectionArgs, null);
    id = cursor.getLong(cursor.getColumnIndex(C_ID));
    return id;
}

Thank you for yout help... :)

like image 591
Ricardo Filipe Avatar asked Nov 30 '25 09:11

Ricardo Filipe


2 Answers

Your query (even the part that is visible) is not valid SQL.

To get the maximum value of a specific column, use something like this:

SELECT MAX(_id) FROM mytable;

In SQLite, if your ID is the Row ID (see the documentation), you can just do:

SELECT last_insert_rowid();
like image 147
CL. Avatar answered Dec 02 '25 23:12

CL.


there is a table named sqlite_sequence in SQLITE that is used to store the auto_increment_key.

this is the query to get latest auto_increment_key values.

Cursor cursor = db.rawQuery("SELECT seq FROM sqlite_sequence WHERE name=?",
                new String[] { TABLE_NAME });
int last = (cursor.moveToFirst() ? cursor.getInt(0) : 0);
like image 22
Aprian Avatar answered Dec 03 '25 00:12

Aprian



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!