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

如何使用子查询实现按shipping_service分组并对费用字段求和

按物流服务分组求和的解决方案

实现方案

你可以直接在原有查询外层嵌套一层聚合逻辑,无需修改已经调试完成的内层查询,SQL写法如下:

SELECT 
    shipping_service,
    SUM(shipping_cost) AS total_shipping_cost,
    SUM(cobb_charge) AS total_cobb_charge
FROM (
    -- 原有查询逻辑
    SELECT 
        tsi.shipping_service,
        tsi.shipment_amount as shipping_cost,
        (
            SELECT sum(shipment_cost) FROM `tabPacking Slip packages shadow` sps 
            WHERE parent = 
                (SELECT name FROM `tabPacking Slip` pslip 
                    WHERE pslip.purchase_order = tsi.po_no LIMIT 1
                )
        ) as cobb_charge
    FROM tabSales Invoice as tsi
) AS t
GROUP BY shipping_service;

如果你希望一步查询出结果,也可以直接在原查询基础上添加聚合函数和分组规则,写法如下:

SELECT 
    tsi.shipping_service,
    SUM(tsi.shipment_amount) AS total_shipping_cost,
    SUM(
        (
            SELECT sum(shipment_cost) FROM `tabPacking Slip packages shadow` sps 
            WHERE parent = 
                (SELECT name FROM `tabPacking Slip` pslip 
                    WHERE pslip.purchase_order = tsi.po_no LIMIT 1
                )
        )
    ) AS total_cobb_charge
FROM tabSales Invoice as tsi
GROUP BY tsi.shipping_service;

输出结果

针对你提供的样例数据,聚合后的输出结果如下:

shipping_servicetotal_shipping_costtotal_cobb_charge
UPS-Ground160.99125.4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 09:24:03