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

MySQL按m.ID分组,求SUM(pm.amount_construction*prod.anzahl)的需求

解决方案

你已经算出了每一行的pm.amount_construction * prod.anzahl乘积,现在只需要在查询中对这个乘积做分组求和就能得到想要的结果。

直接修改原查询的写法

如果你的基础查询已经关联了m、pm、prod这几张表,可以直接把乘积放进SUM()函数里,再按m.ID分组:

SELECT
    m.ID AS Meterial_id,
    SUM(pm.amount_construction * prod.anzahl) AS Total_Sum
FROM
    -- 替换成你的实际表关联逻辑,示例如下:
    your_material_table m
JOIN
    pm_table pm ON m.ID = pm.material_id  -- 填写你的实际关联条件
JOIN
    prod_table prod ON pm.production_id = prod.id  -- 填写你的实际关联条件
GROUP BY
    m.ID
ORDER BY
    m.ID;

基于现有结果的子查询写法

如果你已经有了当前返回的多行结果集,也可以把它作为子查询,再对Meterial_id分组求和:

SELECT
    Meterial_id,
    SUM(Total_amount) AS Total_Sum
FROM (
    -- 这里放入你当前生成结果的查询语句
    SELECT
        m.ID AS Meterial_id,
        pm.amount_construction,
        prod.anzahl AS Anzahl_der_productionen,
        pm.amount_construction * prod.anzahl AS Total_amount
    FROM
        your_material_table m
    JOIN
        pm_table pm ON m.ID = pm.material_id
    JOIN
        prod_table prod ON pm.production_id = prod.id
) AS intermediate_results
GROUP BY
    Meterial_id
ORDER BY
    Meterial_id;

最终预期结果

根据你提供的示例数据,运行上述查询后会得到:

Meterial_idTotal_Sum
181150
18230
183100
283765

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:09:32