我了解到,Android ICS(https://stackoverflow.com/questions/8837544/android-ics-sqlite-error)不再支持GROUP BY
子句。有人知道该怎么用吗?我正在使用ContentProvider
,而不是直接查询数据库。
这是一个示例查询,该查询曾经在低于ICS的Android版本上运行。任何想法如何重写它?
Cursor cursor = activity.getContentResolver().query(Data.CONTENT_URI, // from
new String[] { StructuredPostal._ID, StructuredPostal.CITY, StructuredPostal.COUNTRY }, // select
Data.MIMETYPE + "='" + StructuredPostal.CONTENT_ITEM_TYPE + "' AND "
+ StructuredPostal.CITY + " <> '' " // where
+ ") GROUP BY (" + StructuredPostal.CITY
, null, // args
StructuredPostal.CITY + " ASC, " + StructuredPostal.COUNTRY + " ASC"); // sort by
编辑:错误是
Caused by: android.database.sqlite.SQLiteException: near "GROUP": syntax error:...
最佳答案
适用于我的解决方案:Group By in ContentResolver in Ice Cream Sandwich
不是最优雅的,但是可以做到的。