SQL 数据库 Select,不使用 DISTINCT 进行排序和消除重复项

SQL Database Select, Sort, and Eliminate Duplicates without DISTINCT

在示例 SQL 数据库中,我在两个单独的表中获得了发票总计和供应商名称。

作为一般方向,这是我创建的当前代码:

SELECT TOP 5 InvoiceTotal, VendorName
FROM Invoices JOIN Vendors ON Invoices.VendorID = Vendors.VendorID
ORDER BY InvoiceTotal DESC;

我正在寻找显示的前 5 个发票总计,但没有重复任何供应商名称。比如我现在的输出是:

137966.19   Malloy Lithographing Inc
26881.40    Malloy Lithographing Inc
23517.58    Malloy Lithographing Inc
21842.00    Data Reproductions Corp
20551.18    Malloy Lithographing Inc

然而,目标输出是这样的:

137966.19   Malloy Lithographing Inc
21842.00    Data Reproductions Corp
20076.01    Smith & Co
14590.00    Tim's Management LTD
13878.50    HelloWorld Corp

这是我可以在 Management Studio 中实现的吗?我试过实施 DISTINCT,但这似乎不起作用。

非常感谢任何帮助。

下面的方法行得通吗?

SELECT TOP 5 MAX(InvoiceTotal) AS Total, VendorName
FROM Invoices JOIN Vendors ON Invoices.VendorID = Vendors.VendorID
GROUP BY VendorName
ORDER BY 1 DESC