【问题标题】:MySQL Query SUM Total Based on Column ValueMySQL 根据列值查询 SUM Total
【发布时间】:2021-11-14 07:41:55
【问题描述】:

我有这样的桌子

Order      D.O   Cost   Maintenance    Total
ORD-0005    1    100       50           150
ORD-0005    2    50        120          170
ORD-0006    3    200       100          300
ORD-0006    4    150       50           200

现在我想根据“订单”列计算总和 所以结果会是这样的

Order      D.O   Cost   Maintenance    Total
ORD-0005    1    100       50           320
ORD-0005    2    50        120          320
ORD-0006    3    200       100          500
ORD-0006    4    150       50           500

总价值是所有成本+维护的总和,请参阅订单列

谢谢你..真的很感激

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您可以使用计算SUM 的子查询,然后将其连接到输出:

    SELECT  a.`Order`,
            a.`D.O`,
            a.`Cost`,
            a.`Maintenance`,
            b.`Total`
      FROM  `myTable` a
        INNER JOIN (
                   SELECT  `Order`,
                           SUM(`Total`) AS `Total`
                     FROM  `myTable`
                     GROUP BY `Order`
                   ) b ON a.`Order` = b.`Order`
      ORDER BY a.`Order`
    

    这将计算子查询中每个订单的总值,然后将该总值包含在每个Order 的输出中。

    输出:

    Order D.O Cost Maintenance Total
    ORD-0005 1 100 50 320
    ORD-0005 2 50 120 320
    ORD-0006 3 200 100 500
    ORD-0006 4 150 50 500

    在这里看到working fiddle

    【讨论】:

    • 我不知道我是否可以在这里使用坏词,但是..该死的..你很好..
    猜你喜欢
    • 2011-08-29
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多