2009-03-06 9 views
0

J'essaie de compter plusieurs entrées dans une base de données MySQL, je sais comment utiliser COUNT(), mais la syntaxe exacte que je veux obtenir les résultats dont j'ai besoin me sauve.Comptage de plusieurs entrées dans une base de données MySQL?

Le problème: Structure de la table: ID, CODE, AUTHOR, COUNTRY, TIMESTAMP.

Le code, l'auteur et le pays se chevauchent plusieurs fois dans la table. J'essaie de découvrir s'il y a une simple requête qui peut être courue pour retourner (en utilisant la clause WHERE sur COUNTRY) le champ auteur, le champ de code, puis un champ final qui compte le nombre de fois que le CODE était présent dans la requête résultat.

Donc, théoriquement je pourrais finir avec un tableau comme:

array('author', 'code', 'codeAppearsNTimes'); 

Les auteurs ont également des codes différents qui leur sont associés, donc je ne veux pas les résultats fusionnés. Je suppose que le résultat final serait: «Cet auteur est associé à ce code autant de fois».

Est-ce possible avec MySQL?

Merci d'avance.

Répondre

3
SELECT author, code, COUNT(*) 
FROM table 
WHERE country = @country 
GROUP BY 
     author, code 
+0

Quassnoi, vous êtes incroyable, merci! – Aaron

Questions connexes