2011-06-15 84 views
42

我正在尝试使用以下查询以按日期获取最新结果。如何在Android的SQLite查询中使用LIMIT参数

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

我需要使用极限参数(我相信),但它需要一个字符串。我试着创建一个值为“1”的字符串,但没有奏效。其他的事情我想 “1” LIMIT 1 “LIMIT 1” 限制1 “限制1”

此外,如果任何人都知道有很大的参考网站(不止这一个除外),实际上显示了各种SQL查询(对于ANDROID),这将是非常有用的...

编辑 我从使用“1”得到的错误...也许极限不是我的问题? 以下是错误:android.database.sqlite.SQLiteException:没有这样的柱:dateDESC:,在编译:SELECT日期,重复,重量,来自测试ORDER BY dateDESC LIMIT 1

+8

你的错误是你有'KEY_DATE +“DESC”'而不是'KEY_DATE +“DESC”',即你错过了一个空间。 – 2012-10-20 14:29:53

回答

101

Order by id DESC Limit 1

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

好的....但什么是“ID DESC”我有一个DESC声明,但它是错的? – easycheese 2011-06-15 17:30:51

+0

DESC表示订单类型... Z-A类型 – 2011-06-15 17:31:24

+0

对,我知道。这就是我在代码中使用它的原因。所以它将排名最高的日期排在最前面。你是否告诉我,我在代码中的DESC声明已经错了? – easycheese 2011-06-15 17:34:17