gpt4 book ai didi

SQL Server - 查找订单最多的前 n 个客户

转载 作者:行者123 更新时间:2023-12-02 04:46:52 24 4
gpt4 key购买 nike

我想找到订单最多的前 2 位客户。
该表如下所示:

CustomerId  OrderId ProductId
101 1 A
101 3 B
101 4 C
102 9 D
102 9 E
103 11 E
103 22 F

这是我需要的 SELECT 查询的输出:

CustomerId  OrderId 
101 1
101 3
101 4
103 11
103 22

解决方案只是没有点击我的想法......我已经使用以下查询完成了一半-

SELECT CustomerId, OrderId
FROM dbo.CustomerOrder
GROUP BY CustomerId, OrderId

这只是为我提供了不同的 CustomerId 和 OrderId 对。

谁能帮忙。

最佳答案

这是 SQL Fiddle显示以下代码工作的示例:

SELECT DISTINCT CO.CustomerId, CO.OrderID FROM 
(
SELECT TOP(2) COS.CustomerId, COUNT(DISTINCT COS.orderId) as NoOfOrders
FROM custorders AS COS
GROUP BY COS.CustomerId
ORDER BY COUNT(DISTINCT COS.orderId) DESC, CustomerId DESC
) AS COM
INNER JOIN custorders AS CO
ON COM.CustomerId = CO.CustomerId

关于SQL Server - 查找订单最多的前 n 个客户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19648012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com