2010-07-24 4 views
0

Je veux afficher les utilisateurs les plus actifs en fonction de la quantité de commentaires qu'ils ont laissés sur mon site. Je ne peux pas comprendre à quoi ressemblerait la requête mysql pour cela. Il n'y a pas de table qui contient le nombre total de commentaires pour chaque utilisateur. J'ai besoin de compter le nombre total de commentaires pour chaque utilisateur et afficher par exemple les 10 meilleurs utilisateurs avec le plus de commentaires.Obtenez le plus d'utilisateurs actifs par le nombre de commentaires

Quelqu'un peut-il aider s'il vous plaît?

+4

Vous devez ajouter votre structure de table. –

Répondre

1

J'ai besoin de compter le montant total des commentaires pour chaque utilisateur et en quelque sorte affichage par exemple les 10 utilisateurs avec la plupart des commentaires.

devrait être votre requête pour 10 plus commentateurs:

SELECT COUNT(comment_author) AS comment_comments, comment_author 
FROM table_name GROUP BY comment_author ORDER BY comment_comments DESC LIMIT 10 
+0

Sans une structure de données, 'GROUP BY (comment_field)' semble maintenant que nous cherchons un nombre de commentaires exactement similaires :) – Wrikken

+0

@Wrikken: D'accord mais j'ai utilisé des noms factices 'comment_author' pour représenter un champ pour l'auteur de le commentaire. Cela devrait donner les 10 meilleurs commentateurs. – Sarfraz

+0

Après une modification, vous avez fait :) – Wrikken

0

Votre demande pour obtenir le nombre de commentaires devraient ressembler à ça:

SELECT identity_commentator, COUNT(comments) as num FROM table_comments GROUB BY identity_commentator ORDER BY num DESC LIMIT 20; 

Où commentaires est la colonne stockant les commentaires , table_comments la table où vous les stockez et identity_commentator la colonne identifiant l'utilisateur.

Ensuite, vous changez le "LIMIT" à la fin de votre demande, selon le nombre de commentateurs que vous voulez obtenir. Ensuite, votre mysql_fetch_array aura un tableau avec 2 colonnes, (identity_commentators et num), et c'est PHP simple à partir de ce point.

edit: Dammit, j'étais trop lent!

Questions connexes