我有一个查询,其输出处理如下所示:
while($row = mysql_fetch_array($result)){
echo $row['username'] . " " . $row['earning'];
}
输出结果是这样的:
JOHN 200
JOHN 350
NEO 100
NEO 220
我想实现的是每个名字出现一次,“收入”是该名字所有收入的总和,像这样:
JOHN 550
NEO 320
我必须指出,我不能更改查询;这是最大的问题。
还有希望吗?一些建议? :)
最佳答案
可以将循环中的值求和到另一个数组,然后输出。
尝试:
$earnings = array();
while($row = mysql_fetch_array($result)) {
if (!isset($earnings[$row['username']])) $earnings[$row['username']] = 0;
$earnings[$row['username']] += $row['earning'];
}
foreach($earnings as $user => $earnings) {
echo "$user $earnings<br />\n";
}
关于php - 如何对查询结果求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11318333/