函数SUM在MYSQL中未按预期工作

时间:2015-12-26 11:09:18

标签: mysql sql select group-by sum

我有2张桌子

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;

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

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

有人可以帮我吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

您只需使用 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;