0

我正在尝试从以下模式的 SQLite 数据库中获取所有行,该模式以Group开头并以(General)结尾。:

Group n (General)
Group n+1 (General)
Group n+1+... (General)

因为,我是第一次使用 SQL,目前我尝试使用如下所示的原始查询。这是抛出 SQLException 因为我的查询不正确。

        Cursor cursor = mDatabase.rawQuery("SELECT DISTINCT " + KEY_LOCATION
            + " FROM " + FTS_VIRTUAL_TABLE + " ORDER BY " + KEY_LOCATION
            + " ASC" + " WHERE " + KEY_LOCATION + " LIKE '"
            + "%Group%%%%General%" + "'", null);

这是上面执行的堆栈跟踪:

03-08 09:38:49.340: E/AndroidRuntime(4082): FATAL EXCEPTION: main 03-08 09:38:49.340: E/AndroidRuntime(4082): android.database.sqlite.SQLiteException: near "WHERE": syntax error (code 1): , while compiling: SELECT DISTINCT suggest_text_1 FROM FTSlocation ORDER BY suggest_text_1 ASC WHERE suggest_text_1 LIKE '%Group%%%%General%'
03-08 09:38:49.340: E/AndroidRuntime(4082):     at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
03-08 09:38:49.340: E/AndroidRuntime(4082):     at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
03-08 09:38:49.340: E/AndroidRuntime(4082):     at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
03-08 09:38:49.340: E/AndroidRuntime(4082):     at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
03-08 09:38:49.340: E/AndroidRuntime(4082):     at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
03-08 09:38:49.340: E/AndroidRuntime(4082):     at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
03-08 09:38:49.340: E/AndroidRuntime(4082):     at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
03-08 09:38:49.340: E/AndroidRuntime(4082):     at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314)
03-08 09:38:49.340: E/AndroidRuntime(4082):     at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1253)

谁能指导我如何实现它,或者可能提示我如何进行?

4

1 回答 1

1

ORDER BY子句设置在WHERE.

那应该可以

于 2013-03-08T01:49:25.633 回答