【发布时间】:2019-07-16 13:34:45
【问题描述】:
下表显示了客户名称以及每笔交易的销售人员佣金。如何在下表中添加一列以按人显示总佣金金额?例如,“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
【问题讨论】:
-
你的 MySQL 版本是多少?这是一个窗口函数问题。另一种建议是使用
GROUP BY WITH ROLLUP -
请不要使用旧的基于逗号的隐式连接,而是使用现代的Explicit JOIN based syntax