You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中对MySQL查询结果按物品汇总数量的实现方法

如何汇总MySQL查询结果中的物品数量?

我来帮你搞定这个物品数量汇总的问题,有两种实用的实现方式,你可以根据自己的场景选择:

方法一:在数据库查询阶段直接汇总(优先推荐)

数据库本身就擅长做聚合计算,直接在SQL里处理效率更高,尤其是数据量大的时候。你只需要修改查询语句,用GROUP BY分组,再配合SUM()函数求和:

SELECT przedmiot, SUM(ilosc) AS total_ilosc 
FROM 你的表名  -- 替换成实际的表名
GROUP BY przedmiot;

然后对应的PHP代码就可以直接输出汇总后的结果了:

while ($row = mysqli_fetch_array($lista)) {
    echo $row['przedmiot'] . ":" . $row['total_ilosc'] . '<br>';
}

这样数据库会直接返回已经汇总好的每组物品的总数量,不需要PHP再额外处理。

方法二:在PHP代码层面处理结果

如果因为某些原因没法修改SQL查询,那可以在PHP里先把数据存到数组里累加:

// 初始化一个空数组用来存储汇总数据
$summary = [];

// 循环读取查询结果,累加数量
while ($row = mysqli_fetch_array($lista)) {
    $itemName = $row['przedmiot'];
    $itemQty = $row['ilosc'];
    
    if (isset($summary[$itemName])) {
        // 物品已存在,累加数量
        $summary[$itemName] += $itemQty;
    } else {
        // 物品第一次出现,初始化数量
        $summary[$itemName] = $itemQty;
    }
}

// 输出最终的汇总结果
foreach ($summary as $item => $totalQty) {
    echo $item . ":" . $totalQty . '<br>';
}

这种方式适合数据量不大的场景,要是数据很多的话,还是方法一的效率更高哦。

内容的提问来源于stack exchange,提问作者Krystian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 22:57:53