用於確定每個商店前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中文網其他相關文章!