MySQL 使用 group by 对第二个表进行计数和求和

标签 mysql join

我试图通过交叉两个表来获取销售额和销售数量,按第一个表分组并从第二个表求和。

第一个表有销售/运营:id_sales、sales_rep 第二个表包含销售详细信息:id_sales_details、id_sales、数量

我需要知道的是每个 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
玛丽              1           8
约翰              1           7

这里有一个 fiddle 可以让事情变得更清楚:http://sqlfiddle.com/#!9/708234/5

最佳答案

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;

关于MySQL 使用 group by 对第二个表进行计数和求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45849069/

相关文章:

php - 无法在屏幕上输出缩略图 我得到一个干净的白色屏幕,左上角有一个小破损的图像

sql - 将连接表的列旋转为行

python - 有没有办法在执行连接操作时证明子字符串的合理性

sql - Rails 3,选择 has_many(左连接)

MYSQL:仅用主机名替换 FQDN

mysql - MySQL 上的 MD5(RAND()) 仅返回数字

php - 尝试在使用 WHERE 语句时使用左连接从数据库中获取所有结果

mysql查询以选择第1列中的最后一个值和第2列中最后5行的最大值

php - 如何借助 PHP 在 MySQL 数据库中执行搜索操作?

MySQL:比较where子句中的日期与连接