MySQL COUNT显示它正在运行

时间:2012-09-08 00:07:57

标签: php mysql count

我希望以下输出数字“5”,因为数据库中有5行,带有项目68和用户1.但我得到的输出为“12345”。

$resultb4 = mysql_query("SELECT COUNT(comparedRating) FROM recComparedRating WHERE user1='1' AND itemID='68' GROUP BY itemID AND user1");
while($rowb4 = mysql_fetch_array($resultb4)){
    $countcomparedratings=$rowb4['COUNT(comparedRating)'];
}
echo $countcomparedratings;

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您获得12345的原因是因为您的查询返回了5个结果,而输出计数的代码只是从查询中输出返回数组的串联。

在不了解你的数据库结构的情况下,我猜你得到'12345'的原因与你的GROUP BY子句有关。使用像MySQLWOrkbench这样的程序连接到您的数据库并测试您的查询,然后再将其包含在您的代码中。这是一种节省时间的技术来调试您的查询。

另外,我会为COUNT值设置别名,以便您在引用列名时简单地引用别名。

SELECT COUNT(comparedRating) as ratingCount FROM recComparedRating WHERE user1='1' AND itemID='68' GROUP BY itemID AND user1");