【问题标题】:Function SUM is not working as expected in MYSQL函数 SUM 在 MYSQL 中没有按预期工作
【发布时间】:2015-12-26 11:09:18
【问题描述】:

我有两张桌子

table_orders - order_id, customer_id;
table_order_details - order_id, product_sell_price, quantity;

我想获取每个订单的订单价值(金额总和)。我正在尝试这个查询:

mysql> select O.order_id, sum(OD.product_sell_price * OD.quantity) from table_order_details as OD INNER JOIN table_orders as O where O.order_id = TOD.order_id;

但它给出的是总和,即所有订单的总和。

如何获取每个订单的订单价值?

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: mysql sql select group-by sum


    【解决方案1】:

    在末尾添加一个 GROUP BY

    SELECT O.order_id, SUM(OD.product_sell_price * OD.quantity) 
    FROM table_order_details as OD 
    INNER JOIN table_orders as O 
    ON O.order_id = OD.order_id
     GROUP BY  O.order_id
    

    【讨论】:

      【解决方案2】:

      您只需使用 GROUP BY 子句按顺序获取 SUM

      试试这个:

      SELECT O.order_id, SUM(OD.product_sell_price * OD.quantity) 
      FROM table_order_details AS OD 
      INNER JOIN table_orders AS O WHERE O.order_id = OD.order_id
      GROUP BY O.order_id;
      

      【讨论】:

        猜你喜欢
        • 2018-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多