Sql server SQL数据库选择、排序和消除重复项,而不使用
在一个示例SQL数据库中,我在两个单独的表中获得了发票总额和供应商名称 作为一个总体方向,以下是我创建的当前代码:Sql server SQL数据库选择、排序和消除重复项,而不使用,sql-server,sql-server-2014-express,Sql Server,Sql Server 2014 Express,在一个示例SQL数据库中,我在两个单独的表中获得了发票总额和供应商名称 作为一个总体方向,以下是我创建的当前代码: SELECT TOP 5 InvoiceTotal, VendorName FROM Invoices JOIN Vendors ON Invoices.VendorID = Vendors.VendorID ORDER BY InvoiceTotal DESC; 我要查找显示的前5名发票总额,但不重复任何供应商名称。例如,我的当前输出为: 137966.19 Malloy
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
这是我能在管理工作室实现的吗?我尝试过实现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
下面的方法行吗
SELECT TOP 5 MAX(InvoiceTotal) AS Total, VendorName
FROM Invoices JOIN Vendors ON Invoices.VendorID = Vendors.VendorID
GROUP BY VendorName
ORDER BY 1 DESC
它还不能让我接受你的答案,但它确实有效。谢谢然而,我得到了Max()部分,但我不明白orderby1在做什么。为什么1?1只是指按第一列排序;可以使用这样的索引,也可以使用要排序的列的名称。在本例中,1是第一列的序号位置。所以无论哪一列是第一列,它都会按顺序排列。它不会让我接受你的答案,但它确实有效。谢谢然而,我得到了Max()部分,但我不明白orderby1在做什么。为什么1?1只是指按第一列排序;可以使用这样的索引,也可以使用要排序的列的名称。在本例中,1是第一列的序号位置。所以无论哪一列是第一列,它都会按这个顺序排列。