在MySQL中获取基于数量的SUM


Getting SUM based on quantity in MySQL?

我有这些表

订单

  • 订单_id
  • order_article_id
  • 订单_语音_id
  • 订单_客户id
  • 订单_数量

文章

  • 文章id
  • 文章名称
  • 文章_数量
  • 文章_价格
  • 文章_装载

客户

  • 客户id
  • 客户名称
  • 客户位置
  • 客户办公室

和SQL联接表

$sql="SELECT customer_name, article_name, orders_id FROM orders  
            LEFT JOIN articles ON order_article_id = articles_id 
            LEFT JOIN customers  on order_customer_id = customers_id";

从这个查询中,我需要获得AMOUNT。金额是的示例

用户:MICHAEL

金额:订单ID=ORDER_article_ID+订单数量

有可能在MySQL中做到这一点吗?或者我需要一些额外的PHP代码?

您可以在MySQL中使用GROUP BY查询和SUM()聚合函数来完成此操作:

SELECT
  c.customer_name,
  SUM(a.article_price*a.article_quantity) AS amount
FROM
  orders o LEFT JOIN articles a
  ON o.order_article_id = a.articles_id 
  LEFT JOIN customers c
  ON o.order_customer_id = c.customers_id
GROUP BY
  c.customers_id,
  c.customer_name

您可能想要获得每个订单的AMOUNT,然后还需要根据order_id:进行分组

GROUP BY
  o.orders_id,
  c.customers_id,
  c.customer_name