How to use the LIMIT argument in an SQLite Query with Android

easycheese picture easycheese · Jun 15, 2011 · Viewed 48.2k times · Source

I am trying to use the following query to get the most recent result by date.

Cursor cursor = mDb.query(DATABASE_TABLE, new String[] {KEY_DATE, KEY_REPS, 
KEY_WEIGHT}, null, null, null, null, KEY_DATE + "DESC", ???);

I need to use the limit argument (I believe) but it takes a string. I tried creating a string with a value of "1" but that didn't work. Other things I tried "1" LIMIT 1 "LIMIT 1" Limit 1 "Limit 1"

Also, if anyone knows of a great reference site (other than this one) that actually shows you various SQL queries (for ANDROID) that would be very helpful...

EDIT The error I got from using "1"...perhaps the limit isn't my problem? Here is the error: android.database.sqlite.SQLiteException: no such column: dateDESC: , while compiling: SELECT date, repetitions, weight, FROM TEST ORDER BY dateDESC LIMIT 1

Answer

Plamen Nikolov picture Plamen Nikolov · Jun 15, 2011

Order by id DESC Limit 1:

db.query("table", null, "column=?", new String[]{"value"}, null, null, "id DESC", "1");