mysql - 如何在每笔交易的值(value)旁边显示所有交易的总金额

标签 mysql sql

下表显示了客户名称以及每笔交易的销售人员佣金。如何在下表中添加一列来显示按人列出的佣金总额?例如,“Graham Zusi”仍然有两行,每一行对应一个唯一的交易。然而,会有第三栏总结他的两笔交易。这样就可以同时查看每个客户的个人交易金额以及获得的总体佣金

感谢您的帮助。

cust_name   TRANSACTION COMMISSION
Brad Davis  360.0900
Fabian Johnson  277.6802
Jozy Altidor    9.7877
Graham Zusi 19.5650
Graham Zusi 123.3050
Julian Green    32.5585

我尝试过使用 GroupBy 和 Sum,但似乎无法实现。

SELECT c.CUST_NAME,(s.COMMISSION*o.PURCH_AMT)AS "TRANSACTION COMMISSION"
FROM SALESMAN s, CUSTOMER c, ORDERS o
WHERE
o.SALESMAN_ID=s.SALESMAN_ID
AND
o.CUSTOMER_ID=c.CUSTOMER_ID

最佳答案

您应该这样做。

SELECT
  c.CUST_NAME,
  sum(s.COMMISSION * o.PURCH_AMT) AS "TRANSACTION COMMISSION"
FROM
  SALESMAN s,
  CUSTOMER c,
  ORDERS o
WHERE
  o.SALESMAN_ID = s.SALESMAN_ID
  AND o.CUSTOMER_ID = c.CUSTOMER_ID
GROUP BY
  c.CUST_NAME

关于mysql - 如何在每笔交易的值(value)旁边显示所有交易的总金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57048344/

相关文章:

mysql - 获取Wordpress DB中具有特定usermeta值的用户数量

sql - node-sqlite3序列化失败: SQLITE_CONSTRAINT: foreign key constraint failed

MySQL返回错误的搜索记录

python - 使用 python 从 sql 查询输出创建一个列表,其中包含属性名称而不是索引

mysql - 使用 mysql Workbench 备份 Vagrant Mysql

mysql - 将价格的整数表示形式转换为 double 表示形式

java - 增加 Java.sql.date/time 的最佳方法是什么?

mysql - 增加表列参数

SQL 查询返回两个日期之间的行

mysql - 如何从表中获取最低值