2010-07-20 7 views
0

J'ai une tablerequête SQL pour compter les enregistrements

EntryLog(Name String, CheckIn Boolean) 

Je veux compter le nombre de checkins contre chaque nom. Comment puis-je écrire une requête pour obtenir le résultat en tant que résultat unique?

+0

Sûrement vous n'avez pas une base de données séparée mysql (en dehors de la sqlite standard)? Je suggère de repasser. –

Répondre

6
SELECT Name, COUNT(*) FROM EntryLog WHERE CheckIn GROUP BY Name 
+2

+1 me battre :) :) –

+2

+1 Battez-moi aussi. –

+0

Notez également que pour obtenir le résultat du nombre d'enregistrements, utilisez 'cursor.moveToFirst()' et obtenez le nombre dans le premier champ de l'enregistrement de résultat: 'cursor.getInt (0)' –

5

Essayez:

SELECT COUNT(1) FROM EntryLog WHERE CheckIn = 1 GROUP BY [Name] 
+0

mais récupère-t-il uniquement les enregistrements où CheckIn est vrai? – Codevalley

+0

Non, mais vous pouvez sûrement implémenter cette partie vous-même? - Fait maintenant. Le bit important était l'agrégation via le groupe par IMHO. –

3
SELECT name, 
     COUNT(*) 
    FROM EntryLog 
    WHERE CheckIn 
    GROUP BY name; 
Questions connexes