在SQL Server中,假设我们有一个SALES_HISTORY
表,如下所示。按复杂查询SQL Server组
CustomerNo PurchaseDate ProductId
1 20120411 12
1 20120330 13
2 20120312 14
3 20120222 16
3 20120109 16
...并为每个购买每个客户的多条记录...
我如何写找到相应的查询:
对每一个客户,
- 找到他在MOST购买的产品,
- 找到该产品在他购买的所有产品中所占的百分比。
结果表必须有这样的列:
CustomerNo,
MostPurchasedProductId,
MostPurchasedProductPercentage
对于'CustomerNo' 1的示例会发生什么情况?我们应该为'MostPurchasedProductId'返回'productId' 12或14? – Lamak
@siride不,它不是。讨论数据库服务器时,版本非常重要。例如,在SQL 2k或SQL 7中找不到某些功能(如row_number,partition by)。所以如果你想要一个明确的答案,比你应该有一个明确的问题。 – Marian