2009-12-05 5 views
0

Disons que je veux afficher les tags associés à users_question_id et je veux compter le nombre de fois que tag a été saisi pour cette question par 1 chaque fois qu'il a été entré afin d'afficher les tags qui ont été saisis plus plus gros. Comment faire cela en utilisant MySQL et PHP J'ai créé deux tables appelées questions_tags et tags.PHP & MySQL - Comment compter le nombre de fois que des données ont été entrées pour un utilisateur spécifique?

Voici les tables MySQL layout

Table questions_tags 

id tag_id users_questions_id 
46 46  1 
47 47  29 
48 48  1 
49 49  11 
50 50  1 
51 51  1 
52 52  345 
53 53  1 
54 54  1 
55 55  100 
56 56  1 
57 57  1 
58 58  1 
59 59  1 
60 60  1 

Et voici la deuxième table.

Table tags 

id tag 
46 a 
47 x 
48 a 
49 r 
50 a 
51 a 
52 k 
53 a 
54 a 
55 q 
56 b 
57 c 
58 d 
59 d 
60 z 

Répondre

1
SELECT t.tag, 
      COUNT(q.tag_id) 'num' 
    FROM QUESTIONS_TAGS q 
    JOIN TAGS t ON t.id = q.tag_id 
    WHERE q.users_questions_id = 1 
GROUP BY t.tag 
ORDER BY num DESC 
+0

Je suppose que t et q sont abbr. :) Je vais essayer dans un peu j'ai quelque chose à faire. merci – SlaPtHiS

+0

Alias, pas des abréviations :) –

+0

Je ne pouvais pas le faire fonctionner peut-être que j'ai lu vos alias faux :) Je vais essayer à nouveau. – SlaPtHiS

0

Je n'ai plus de temps, mais vérifiez SQL pour la fonction count().

+0

Ça craint parce que je ne sais pas par où commencer. oh bien – SlaPtHiS

+0

@SlaPtHiS Sérieusement? Taper SQL count() dans Google était trop dur? – Sylverdrag

Questions connexes