我正在开发销售点系统,需要找到购买量最高的客户。
我有这两个表,第一个包含客户和交易号,第二个表包含交易号和交易总金额。这是表
--------------------------
| Customer | Transaction |
--------------------------
| 1000 | 902134 |
--------------------------
| 1001 | 798249 |
--------------------------
| 1001 | 312523 |
--------------------------
| 1002 | 741284 |
--------------------------
| 1000 | 122354 |
--------------------------
------------------------------
| Transaction | Total_Amount |
------------------------------
| 902134 | 9000.00 |
------------------------------
| 798249 | 3000.00 |
------------------------------
| 312523 | 5000.00 |
------------------------------
| 741284 | 4000.00 |
------------------------------
| 122354 | 1000.00 |
------------------------------
我需要获得具有10,000.00交易价值的客户代码1000。
我正在使用MySQL和PHP。
答案 0 :(得分:3)
这将检索具有相同总计 transaction_amount
并且(可能)所有客户的最高总金额值的客户。
SELECT aa.customer, SUM(bb.Total_AMount) GrandTotal
FROM tableCustomer aa
LEFT JOIN tabletransaction bb
ON aa.`Transaction` = bb.`Transaction`
GROUP BY aa.customer
HAVING SUM(bb.Total_AMount) =
(
SELECT MAX(totalSum)
FROM
(
SELECT SUM(b.Total_AMount) totalSUM
FROM tableCustomer a
LEFT JOIN tableTransaction b
ON a.`Transaction` = b.`Transaction`
GROUP BY a.customer
) x
)