Pertanyaan SQL untuk Menentukan N Item Teratas untuk Setiap Kedai
Untuk mencari N item teratas yang dijual untuk setiap kedai dalam satu pertanyaan, kami boleh memanfaatkan gabungan fungsi GROUP BY dan ROW_NUMBER(). Berikut ialah penyelesaian yang komprehensif:
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;
Memahami Pertanyaan
Pendekatan ini mendapatkan semula dengan cekap item terlaris untuk setiap kedai dalam satu pernyataan SQL, mengelakkan keperluan untuk berbilang pertanyaan atau operasi UNION yang tidak cekap.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Item N Teratas yang Dijual di Setiap Kedai Menggunakan Pertanyaan SQL Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!