php - 如何对查询结果求和

标签 php mysql

我有一个查询,其输出处理如下所示:

 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/

相关文章:

php - 如何在不循环查询的情况下获取类别树?

PHP 更新查询不起作用

mysql - 在 MySQL 的 LIMIT 子句中使用变量

javascript - 如何使用 javascript 或 jquery 打印表格中的特定列

php - 字符如何通过表单传输?

PHP、JQuery ajax 不工作

PHP 到 Javascript 再回到 HTML 设计问题

php - 使用 PHP 读取本地主机(WAMP 服务器)中的文本文件

c# - 从 C# 控制台应用程序查询网站数据库

mysql 从时间戳统计上周的总数