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中文網其他相關文章!