我试图通过交叉两个表来获得销售和数量销售,第一个分组和第二个分组。
第一个表有销售/操作:id_sales,sales_rep 第二个表有销售详细信息:id_sales_details,id_sales,quantity
我需要知道的是每个sales_rep有多少次操作,所有这些销售的总金额是多少。
这个MySQL查询给了我第一部分:
SELECT sales.sales_rep, count(*) AS sales
from sales
Group by sales_rep
Order by sales DESC
我无法解决的是如何向该查询添加我需要的第二部分。结果应该类似于:
SALES_REP销售数量
克莱尔4 13个
彼得2月18日
玛丽18个
约1 7
这是一个让事情更清晰的小提琴:http://sqlfiddle.com/#!9/708234/5
答案 0 :(得分:2)
SELECT s.sales_rep, count(*) AS operations, sum(d.quantity)
from sales s, sales_details d
where s.id_sales = d.id_sales
Group by s.sales_rep
Order by operations DESC;
答案 1 :(得分:0)
快速解决方案
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