Top-N-verkaufte Artikel für jede Gruppe mithilfe von SQL finden
Problemstellung:
Gegeben Eine Tabelle mit Verkaufsaufzeichnungen, einschließlich des UPC-Codes jedes verkauften Artikels, des Verkaufsdatums, der Geschäfts-ID und des Gesamtumsatzes in Dollar. Das Ziel besteht darin, die fünf am häufigsten verkauften Artikel abzurufen für jeden Speicher in einer einzelnen SQL-Abfrage.
Lösung:
Mit der Common Table Expression (CTE)-Syntax können wir eine temporäre Tabelle mit dem Namen „s“ erstellen Ordnen Sie die Top-Artikel in jedem Geschäft basierend auf dem Gesamtumsatz in Dollar. Anschließend können wir mithilfe eines Zeilennummernfilters die Top 5 Artikel für jede Filiale auswählen.
;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;
Erklärung:
Das obige ist der detaillierte Inhalt vonWie finde ich mithilfe von SQL die fünf meistverkauften Artikel pro Geschäft?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!