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

MySQL按Order列分组求和并填充至同组所有行Total列的查询方法

MySQL实现同分组内Total字段统一赋值为组内合计值的解决方案

注意事项

  • Order属于MySQL保留关键字,D.O包含特殊字符,查询时均需要用反引号包裹避免语法报错,以下示例中所有你的表名请替换为实际的表名。

方案1:仅查询得到预期结果(不修改原表数据)

MySQL 8.0+ 版本(支持窗口函数,写法更简洁)

SELECT 
    `Order`,
    `D.O`,
    Cost,
    Maintenance,
    SUM(Cost + Maintenance) OVER (PARTITION BY `Order`) AS Total
FROM 你的表名;

MySQL 5.x 版本(无窗口函数支持,用关联子查询实现)

SELECT 
    t1.`Order`,
    t1.`D.O`,
    t1.Cost,
    t1.Maintenance,
    t2.group_total AS Total
FROM 你的表名 t1
INNER JOIN (
    SELECT `Order`, SUM(Cost + Maintenance) AS group_total 
    FROM 你的表名 
    GROUP BY `Order`
) t2 ON t1.`Order` = t2.`Order`;

方案2:直接更新原表的Total字段值

如果需要将计算结果写入原表的Total字段,可使用以下更新语句:

UPDATE 你的表名 t1
INNER JOIN (
    SELECT `Order`, SUM(Cost + Maintenance) AS group_total 
    FROM 你的表名 
    GROUP BY `Order`
) t2 ON t1.`Order` = t2.`Order`
SET t1.Total = t2.group_total;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:48:04