SQL 查询来检索每组销售的前 N 件商品
在此问题中,用户寻求 SQL 查询来检索售出的前 5 件商品单个查询中每个商店的商品。提供的 Sales 表包含 UPCCode、SaleDate、StoreId 和 TotalDollarSales 等列。
为了获得所需的结果,我们可以在单个 SQL 查询中结合使用子查询和分区。以下是详细细分:
计算每个 UPCCode 的销售额总和的子查询:
将行号添加到分区结果:
为每个商店选择前 N 个商品:
检索最终结果:
以下是结合了这些步骤的完整 SQL 查询:
WITH s AS ( SELECT StoreID, UPCCode, tds, rn = ROW_NUMBER() OVER (PARTITION BY StoreID ORDER BY tds DESC) FROM ( SELECT StoreID, UPCCode, tds = SUM(TotalDollarSales) FROM Sales GROUP BY StoreID, UPCCode ) AS s2 ) SELECT StoreID, UPCCode, TotalDollarSales = tds FROM s WHERE rn <= 5 ORDER BY StoreID, TotalDollarSales DESC;
以上是如何使用单个 SQL 查询检索每个商店销量最高的 N 件商品?的详细内容。更多信息请关注PHP中文网其他相关文章!