基于列值的 MySQL 查询 SUM 总计

我有

我有这样的桌子

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”的总 SUM 所以结果看起来像这样

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

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

谢谢。。真的很感谢

马丁

您可以使用计算 的子查询,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

输出:

命令 成本 维护 全部的
ORD-0005 1 100 50 320
ORD-0005 2 50 120 320
ORD-0006 3 200 100 500
ORD-0006 4 150 50 500

在这个工作小提琴中看到这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章