Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan semula Item N Terlaris setiap Kedai Menggunakan Pertanyaan SQL Tunggal?
Pertanyaan SQL untuk Mendapatkan N Item Teratas Yang Dijual Setiap Kumpulan
Dalam soalan ini, pengguna mencari pertanyaan SQL untuk mendapatkan 5 teratas terjual item untuk setiap kedai dalam satu pertanyaan. Jadual yang disediakan, Jualan, mengandungi lajur seperti UPCCode, SaleDate, StoreId dan TotalDollarSales.
Untuk mencapai hasil yang diinginkan, kami boleh menggunakan gabungan subkueri dan pembahagian dalam satu pertanyaan SQL. Berikut ialah pecahan terperinci:
Subquery untuk Mengira Jumlah Jualan bagi Setiap UPCCode:
Tambahkan Nombor Baris pada Hasil Pembahagian:
Pilih N Item Teratas untuk Setiap Kedai:
Dapatkan Keputusan Akhir:
Berikut ialah pertanyaan SQL lengkap yang menggabungkan langkah-langkah ini:
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;
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan semula Item N Terlaris setiap Kedai Menggunakan Pertanyaan SQL Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!