l'ajout de mot-clé DISTINCT à la requête() avec SQLite sous Android

la différence entre query() et rawQuery() dans SQLite, lors de la prise de plus complexe des requêtes SQL.

par exemple

je veux utiliser le mot clé SQL DISTINCTES, de sorte que je ne pas faire de doublons retourné à partir de la base de données.
je comprends comment utiliser rawQuery() la méthode, de cette façon, vous pouvez mettre une réelle instruction de requête SQL dans la méthode. de cette façon, je peux faire un standard de l'instruction SQL avec rawQuery. il serait facile d'ajouter le mot clé DISTINCT pour n'importe quelle instruction SQL lors de l'utilisation de rawQuery()

cependant, lors de l'utilisation de la méthode query (), comme illustré ici dans ce code, je ne peux pas utiliser les instructions SQL. dans ce cas, comment pourrais-je faire une requête avec le mot-clé DISTINCT dans le cadre de la requête? ou quelque chose avec les mêmes fonctionnalités?

            // get info from country table
            public String[] getCountries(int numberOfRows) {

                     String[] columns = new String[]{COUNTRY_NAME};
                     String[] countries = new String[numberOfRows];

                     int counter = 0;

                Cursor cursor = sqLiteDatabase.query(COUNTRY_TABLE, columns, 
                            null, null, null, null, null);

                     if (cursor != null){

                     while(cursor.moveToNext()){
         countries[counter++] = cursor.getString(cursor.getColumnIndex(COUNTRY_NAME));                                   
                    }

            }
                return countries;                        
     }

OriginalL'auteur Kevik | 2013-07-23