用于确定每个商店前 N 个商品的 SQL 查询
要在单个查询中查找每个商店销售的前 N 个商品,我们可以利用 GROUP BY 和 ROW_NUMBER() 函数的组合。这是一个全面的解决方案:
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 语句中,避免了多个查询或低效的 UNION 操作的需要。
以上是如何使用单个 SQL 查询查找每个商店销售前 N 的商品?的详细内容。更多信息请关注PHP中文网其他相关文章!