Android: ORDER BY en la consulta

Tengo una aplicación para Android que utiliza una base de datos sqlite local.

private SQLiteDatabase mDb; 

Cuando ejecuto esta consulta obtengo mi Cursor sobre filas con pid igual a id, como se desee:

 mDb.query(true, PT_TABLE, new String[] {KEY_PID, KEY_TID}, KEY_PID+" = "+id, null, null, null, null, null); 

Cuando ejecuto la siguiente consulta, con el objetivo de obtener ese mismo conjunto de resultados, ordenados por pid obtengo " android.database.sqlite.SQLiteException: datatype mismatch "

 mDb.query(true, PT_TABLE, new String[] {KEY_PID, KEY_TID}, KEY_PID+" = "+id, null, null, null, null, KEY_PID+" DESC"); 

¿Algunas ideas?

Parece que tienes un poco confundido. De acuerdo con la documentación SQLiteDatabase.query , el último argumento es la cláusula LIMIT . La segunda a última es la cláusula ORDER BY .

 Cursor query (boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, // <-- ORDER BY String limit) 

EDITAR

Pero, también hay otro SQLiteDatabase.query donde ORDER BY sería el último

 Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy) 

Esto funcionó para mí

 String filter = MySQLiteHelper.JOB_ID + "=" + Integer.toString(jobID); String orderBy = MySQLiteHelper.LOG_TIME + " DESC"; Cursor cursor = database.query(MySQLiteHelper.LOG_TABLE_NAME, logTableColumns, filter, null, null, null, orderBy); 
 KEY_PID + " = " + "'" + id + "'" 

Puesto que Orderby es el segundo último parámetro en la consulta; Su consulta sería así

 mDb.query(true, PT_TABLE, new String[] {KEY_PID, KEY_TID}, KEY_PID+" = "+id, null, null, null, KEY_PID+" DESC", null); 

Si he entendido correctamente su problema, intente esto.

  String[] columns = new String[] {KEY_PID, KEY_TID}; String where = KEY_PID + " = " + Integer.toString(id); String orderBy = KEY_PID + " DESC"; Cursor cursor = mDb.query(PT_TABLE, columns, where, null, null, null, orderBy); 
  • Sincronizar base de datos Android sqlite
  • Drop y recrear la tabla SQLite
  • La mejor manera de agrupar fotos con app: archivos o en la base de datos sqlite?
  • Necesidad de almacenar LOTES de datos en el dispositivo Android, pensando en ir OODB
  • Sincronizar SQLite DB en la aplicación android con el DB remoto de MySQL
  • Reemplazar la base de datos SQLite de aplicaciones mediante ADB
  • Tabla de SQLite con columnas de columna de enteros
  • Búsqueda de Android con Fragmentos
  • ¿Cómo puedo encontrar mi archivo de base de datos SQLite en mi computadora?
  • cómo crear base de datos una sola vez, a continuación, leer y escribir varias veces desde él, SQLite, OpenHelper, Android
  • Cómo insertar a granel de Json a Sqlite en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.