如何使用单条MySQL或Laravel查询对不同条目的对应数量求和
按条目分组求和查询语句
MySQL原生写法
直接使用SUM聚合函数配合GROUP BY分组即可实现需求:
SELECT item_code, SUM(quantity) AS total_quantity FROM tbl_transactions GROUP BY item_code;
查询返回结果如下:
| item_code | total_quantity |
|---|---|
| 0001 | 10 |
| 0002 | 10 |
完全匹配示例预期结果。
Laravel Query Builder写法
两种常用写法按需选择:
- 基于DB门面调用
use Illuminate\Support\Facades\DB; $sumResult = DB::table('tbl_transactions') ->select('item_code', DB::raw('SUM(quantity) as total_quantity')) ->groupBy('item_code') ->get();
- 基于对应Eloquent模型调用(假设模型名为
Transaction)
use App\Models\Transaction; $sumResult = Transaction::select('item_code', DB::raw('SUM(quantity) as total_quantity')) ->groupBy('item_code') ->get();
性能优化提示:如果表数据量级较大,建议为
item_code字段创建索引,可显著提升分组查询的执行效率。
内容的提问来源于stack exchange,提问作者superloika
相关产品推荐
相关产品推荐

