我遇到了这样一个问题,即退回客户共同购买的前 N 对产品。假设我有以下查询:
SELECT c.CustomerKey, ProductAlternateKey
FROM
[AdventureWorksDW2008R2].[dbo].[FactInternetSales] FIS JOIN
dbo.DimCustomer C ON C.CustomerKey = FIS.CustomerKey JOIN
dbo.DimProduct P ON P.ProductKey = FIS.ProductKey
GROUP BY
C.CustomerKey, P.ProductAlternateKey
它返回以下结果:
CustomerKey | ProductAlternateKey|
-------------+-----------+
0001 | A |
0001 | B |
0002 | A |
0002 | B |
0002 | C |
0003 | B |
0003 | C |
0004 | A |
0004 | B |
0005 | A |
0005 | C |
从这个查询中,我想找到客户购买的前 2 对产品,所以在我的示例中 -> (A,B) 3 次出现和 (B,C) -> 2 次出现