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
在示例 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