Requête SQL pour déterminer les N articles les plus vendus pour chaque magasin
Pour trouver les N articles les plus vendus pour chaque magasin en une seule requête, nous peut exploiter une combinaison des fonctions GROUP BY et ROW_NUMBER(). Voici une solution complète :
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;
Comprendre la requête
Cette approche récupère efficacement les articles les plus vendus pour chaque magasin dans un instruction SQL unique, évitant le besoin de plusieurs requêtes ou d'opérations UNION inefficaces.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!