在MySQL中汇总多个行单元的乘积

时间:2019-03-04 14:34:53

标签: mysql sql

我不太清楚标题中的这个问题。这是我在学校的作业,我似乎无法用我目前的知识来解决。 我有下表: SQL table

我的问题询问以下内容:Determine the order total for each order that has an order total greater than 100. Display ‘Order Id’ and ‘Order Total’. Make sure the results are in ascending order total sequence.

这是我的查询:

SELECT order_id, SUM(qty*order_price) as Order_Total 
FROM alp_orderline
GROUP BY order_id
HAVING Order_Total > 100 
ORDER BY Order_Total ASC

但是,它仅查看order_id的第一次出现。我希望它接受具有相同ID的所有行,然后查看其中的不同inv_id,将qty乘以order_price并求和。

这是我的查询给我的: enter image description here

1 个答案:

答案 0 :(得分:0)

如果要查看不同的inv_id,则只需要再添加一个分组依据,就像这样:

 SELECT
order_id,
inv_id,
SUM(qty*order_price) as Order_Total
FROM alp_orderline
GROUP BY
nv_id,
rder_id
HAVING Order_Total > 100
ORDER BY Order_Total ASC;

您还可以使用子查询,然后在外部查询中使用以下条件:
订单总数> 100

相关问题