PHP求和函数
我有一张如下的桌子:PHP求和函数,php,mysql,Php,Mysql,我有一张如下的桌子: id q_id value ------------------------ 1 2 5 2 2 NULL 3 2 5 4 2 NULL 5 4 2 6 4 NULL 7 4 2 8 4 NULL
id q_id value
------------------------
1 2 5
2 2 NULL
3 2 5
4 2 NULL
5 4 2
6 4 NULL
7 4 2
8 4 NULL
我想要的是得到所有值的和,例如q_id=2
但是我想要的是这个值的和,期望值为10
谢谢您的帮助。您需要在查询中添加分组依据。在末尾添加以下内容
GROUP BY q_id
试试看。。。您正在显示值,代码中缺少引号
$sq = mysql_query("SELECT SUM(value) AS sum FROM `table` WHERE `q_id` = '2'")or die(mysql_error());
while($row = mysql_fetch_assoc($sq))
{
$sum = $row["sum"];
}
echo $sum . "<br>";
如果要循环结果集,为什么不使用 从q_id=2的表格中选择值 然后使用while循环将这些值相加?比如: 而$row=mysql\u fetch\u array$sq{ $sum+=$row['value']; } 回音$sum 编辑:另外,正如Jason McCreary上面所说的,您应该研究查询数据库的另一种方法。我建议在php.net中搜索PDO,它非常容易使用
$sq="SELECT value FROM table WHERE q_id='".$am."'";
$result=mysqli_query($link,$sq);
while($row=mysqli_fetch_assoc($result)) {
$sum += $row['value'];
}
echo "<p>Sum: ".$sum."</p><br>";
//$am ='2';
//$link -- connection to the data base
请输入$am='2';在select语句之前,还要确保已使用$link连接到数据库
您将根据q_id的值获得总和
我已经测试了代码,效果很好。我们可以直接在查询中求和,如
SELECT 5+6 AS addition
请停止使用mysql_*函数。GROUP BY在哪里?您发布的代码包含语法错误,您显示的查询将不会产生您指定的结果。我不认为你在做你展示给我们的事情。@Dagon:这里不是必需的,因为在WHERE子句中是通过q_id过滤的,如果使用聚合函数而不使用group by,MySQL会将所有记录分组在一起。@eggyal golly,我认为所有聚合函数都必须这样做,谢谢infoMaybe-remove group by?他已经得到了一个结果,就像它有一个groupby,并且想要一个相反的结果。在MySQL上,当q_id=2时,这是不需要的。有人在发布答案之前阅读了评论吗-@达贡:平心而论,这篇文章和你最初的评论差不多是在同一时间发布的。谢谢你们所有的人,但即使是QUID的群组,问题仍然是一样的。
$sq="SELECT value FROM table WHERE q_id='".$am."'";
$result=mysqli_query($link,$sq);
while($row=mysqli_fetch_assoc($result)) {
$sum += $row['value'];
}
echo "<p>Sum: ".$sum."</p><br>";
//$am ='2';
//$link -- connection to the data base
SELECT 5+6 AS addition