使用group by从第二个表中获取MySQL计数和总和

使用group by从第二个表中获取MySQL计数和总和,mysql,join,Mysql,Join,我试图通过交叉两张表来获得销售额和数量销售额,第一张表分组,第二张表求和 第一个表包含销售/操作:id\u sales,sales\u rep 第二个表有销售详细信息:id\u sales\u details、id\u sales、quantity 我需要知道的是,每个销售代表有多少个业务,所有这些销售的总数量是多少 这个MySQL查询提供了第一部分: SELECT sales.sales_rep, count(*) AS sales from sales Group by sales_rep

我试图通过交叉两张表来获得销售额和数量销售额,第一张表分组,第二张表求和

第一个表包含销售/操作:id\u sales,sales\u rep 第二个表有销售详细信息:id\u sales\u details、id\u sales、quantity

我需要知道的是,每个销售代表有多少个业务,所有这些销售的总数量是多少

这个MySQL查询提供了第一部分:

SELECT sales.sales_rep, count(*) AS sales
from sales
Group by sales_rep
Order by sales DESC
我无法解决的是如何将我需要的第二部分添加到该查询中。结果应该类似于:

销售代表销售数量
克莱尔413
彼得218
玛丽18日
约翰17

这里有一把小提琴可以让事情变得更清楚:

快速解决方案

SELECT w.sales_rep, w.sales, SUM(quantity) as quantity
FROM
(SELECT s.sales_rep, t.sales,d.quantity FROM sales AS s
INNER JOIN  sales_details AS d ON s.id_sales = d.id_sales
INNER JOIN  
  (SELECT sales_rep, count(*) AS sales
   from sales
   Group by sales_rep
   Order by sales DESC ) AS t 
  ON s.sales_rep = t.sales_rep) AS w

  GROUP BY w.sales_rep, w.sales
  ORDER BY w.sales_rep ASC
快速解决方案

SELECT w.sales_rep, w.sales, SUM(quantity) as quantity
FROM
(SELECT s.sales_rep, t.sales,d.quantity FROM sales AS s
INNER JOIN  sales_details AS d ON s.id_sales = d.id_sales
INNER JOIN  
  (SELECT sales_rep, count(*) AS sales
   from sales
   Group by sales_rep
   Order by sales DESC ) AS t 
  ON s.sales_rep = t.sales_rep) AS w

  GROUP BY w.sales_rep, w.sales
  ORDER BY w.sales_rep ASC

非常感谢。这很有效,我认为也很有效。谢谢!这很好用,我认为也很有效。谢谢。这同样有效,但前面的答案看起来更干净、更有效。但是我非常感谢你的回答。谢谢。这同样有效,但前面的答案看起来更干净、更有效。但我很感激你的回答。