Nea*_*eal 9 sql-server distinct top
你如何查询三个最大的唯一客户Purchase_Cost
?
我想应用DISTINCT
唯一的 on Customer_Name
,但下面的查询在所有三列上应用不同的。我应该如何修改查询以获得所需的输出?
SELECT DISTINCT TOP 3 customer_name, order_no, Purchase_Cost
FROM PurchaseTable
ORDER BY Purchase_Cost
Run Code Online (Sandbox Code Playgroud)
在以下查询中替换您的 dbname 和 schemaName。
;WITH CTE AS
(
SELECT
[Order_No]
,[Customer_Name]
,[Purchase_Cost]
, ROW_NUMBER() OVER(PARTITION BY [customer Name] ORDER BY [Purchase Cost] DESC) AS "RowNumber"
FROM [dbname].[schemaName].[PurchaseTable]
)
SELECT TOP(3)
[Order_No]
,[Customer_Name]
,[Purchase_Cost]
FROM CTE WHERE RowNumber=1
ORDER BY [Purchase_Cost] DESC
Run Code Online (Sandbox Code Playgroud)
我相信还有其他方法可以做到这一点。我建议你读这个。
归档时间: |
|
查看次数: |
23425 次 |
最近记录: |