2010-07-24 59 views
0

我想通过他们在我的网站上留下的评论数量显示最活跃的用户。我无法弄清楚mysql查询是什么样子的。没有表格保存每个用户的评论总数。我需要以某种方式计算每个用户的评论总数,并以最多的评论显示前10位用户。由评论数量获得最活跃的用户

任何人都可以请帮忙吗?

+4

你应该添加你的表结构。 – 2010-07-24 12:33:06

回答

1

我需要计数的 注释为每个用户以某种方式和 显示例如前10名用户 最多评论的总量。

您的10名最高评论员查询应该是:

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

没有数据结构,'GROUP BY(comment_field)'现在看起来好像我们正在寻找一个完全相似的评论:) – Wrikken 2010-07-24 12:43:10

+0

@Wrikken:同意,但我已经使用虚拟名称'comment_author'来表示作者的字段评论。这应该给10位最高评论员。 – Sarfraz 2010-07-24 12:44:44

+0

经过编辑,你做了:) – Wrikken 2010-07-24 12:58:00

0

你的要求得到的评论数量应该看起来像:

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

如果评论是放养的评论栏,table_comments是您存储它们的表格,identity_commentator是标识用户的列。

然后,根据您想要获得的评论员人数,在请求结束时更改“LIMIT”。然后,你的mysql_fetch_array将有一个包含2列的数组(identity_commentators和num),从这个角度来说这就是简单的PHP。

编辑:该死的,我太慢了!