如何计算MySQL表中的某些行?

时间:2014-01-26 04:38:40

标签: php mysql sql

我目前有一个看起来像这样的表。

http://i.stack.imgur.com/KFP6Q.png

这是一个评论系统。列id为注释提供ID。 server_id是评论发布的部分的ID。 user_id是发布它的人的ID。最后,评论是评论本身。以下是我创建评论的方式:

http://pastebin.com/VHUDW6Dm

我想要做的是创建一个变量$ commentcount,它将计算服务器的注释数量,并能够在页面上显示它们。如果有人可以指导我使用可以帮助我实现这个功能的功能,或者实际上在这里创建代码,那将非常感激。

3 个答案:

答案 0 :(得分:1)

由于您需要每台服务器的注释数,因此可以使用SQL GROUP BY子句通过唯一的server_id聚合生成的行。

SELECT server_id, COUNT(id) FROM comments GROUP BY server_id;

这将返回每个server_id组的计数。如果您一次只为一个server_id显示此内容,则只需使用

即可
SELECT COUNT(id) FROM comments WHERE server_id = <your server id>;

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

答案 1 :(得分:0)

使用以下mysql查询

  

从评论中选择count(*)作为count_comment;

答案 2 :(得分:0)

一个非常粗略的草案将是迭代计数。

 $q = mysql_query("MYSQL QUERY TO GET ALL THE COMMENTS FOR THE USER");

 $count = 1; // Start the count, preferrably at 1

 while ($comment = mysql_fetch_assoc($q)) {
    $count++; //iterate the count
 }

 echo $count; // Echo's the count;