Mencari Item N Terlaris untuk Setiap Kumpulan Menggunakan SQL
Pernyataan Masalah:
Diberi jadual dengan rekod jualan, termasuk kod UPC setiap item yang dijual, tarikh jualan, ID kedai dan jumlah jualan dolar, objektifnya adalah untuk dapatkan semula 5 item terjual teratas untuk setiap kedai dalam satu pertanyaan SQL.
Penyelesaian:
Menggunakan sintaks Common Table Expression (CTE), kita boleh mencipta sementara jadual bernama 's' untuk meletakkan kedudukan item teratas dalam setiap kedai berdasarkan jumlah jualan dolar. Selepas itu, kita boleh memilih 5 item teratas untuk setiap kedai menggunakan penapis nombor baris.
;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;
Penjelasan:
Atas ialah kandungan terperinci Bagaimana untuk Cari 5 Item Terlaris Terbaik setiap Kedai Menggunakan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!