找到为单个订单支付最多的客户的名称

时间:2016-09-12 18:31:11

标签: mysql

这是我的关系架构

enter image description here

从所有销售订单中,我需要找到客户总支出最高的订单,并找到该客户的名称。

我真的不知道如何找到解决方案。

查找总数最高的订单并不困难:

SELECT MAX(total)
FROM sales_order

但我不知道如何继续前进。我一直想做的是

提出总额最高的订单 - >从中找到customer_id - >记下脚本,以便sales_order.customer_id = customer_customer_id - >显示客户的name

但是从第1步到第2步我遇到了麻烦。我唯一能做的就是在一个订单中获得每位客户花费的最高金额:

SELECT MAX(total), customer_id
FROM sales_order
GROUP BY customer_id

这不是我想要的。

谢谢!

1 个答案:

答案 0 :(得分:1)

我可能会在我的where子句中使用子查询来解决这个问题:

SELECT c.Name
FROM sales_order o
INNER JOIN Customer c ON c.Customer_ID = o.Customer_ID
WHERE Total = (SELECT MAX(Total) FROM sales_order)