各ストアの上位 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 中国語 Web サイトの他の関連記事を参照してください。