【发布时间】:2013-11-08 00:07:49
【问题描述】:
我想找到订单最多的前 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 对。
谁能帮忙。
【问题讨论】:
-
在您想要的结果中,101 出现了 3 次,但您说您只想要前 2 个客户。请修复。
-
因为我想显示前 2 位客户下的所有订单
-
如果你有 2 条记录在第二位会发生什么?你选择哪一个? ——
标签: sql sql-server join subquery inner-join