2011-08-22 3 views
0

Je souhaite obtenir un curseur numéroté lorsque j'utilise une requête SELECT DISTINCT.Numérotation continue des données récupérées dans une colonne supplémentaire

Tableau:

| _id | Name | 
| 1 | Jones | 
| 2 | Smith | 
| 3 | Jones | 
| 4 | Taylor| 
| 5 | Brown | 
| 6 | Brown | 
| 7 | Brown | 

Ce que je veux obtenir un curseur comme celui-ci:

| _id | Name | 
| 1 | Jones | 
| 2 | Smith | 
| 3 | Taylor| 
| 4 | Brown | 

J'ai essayé beaucoup, mais il ne fonctionnait pas. Parfois, il avait pas des valeurs uniques et parfois je reçois l'erreur suivante lorsque je choisi un élément:

08-22 22:18:15.413: ERROR/AndroidRuntime(1053): java.lang.IllegalStateException: this should only be called when the cursor is valid 

Merci pour votre aide!

+0

Vous êtes à la recherche d'une chose appelée 'ranking' malheureusement, je ne sais pas la syntaxe SQLite. – Johan

Répondre

0

Je pense que la méthode la plus simple est d'utiliser une table temporaire:

'create temporary table bat as select distinct name from yourtable; 
select rowid, * from bat ; ' 
+0

Salut ça sonne bien. J'ai essayé ce qui suit: '" créer chauve-souris temporaire comme select distinct "+ col +" de "+ table +"; "+ \t \t \t \t \t" select _id, * from bat; "mais j'obtiens l'exception que _id doesn ' t existe ... Et j'ai essayé: '" créer chauve-souris de table temporaire (auto-incrément de clé primaire _id, élément comme select distinct "+ col +" de "+ table +"); "+ " select _id, "+ col +" de chauve-souris "Mais ça n'a pas marché aussi. – Droider

Questions connexes