Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Cari 5 Item Terlaris Terbaik setiap Kedai Menggunakan SQL?

Bagaimana untuk Cari 5 Item Terlaris Terbaik setiap Kedai Menggunakan SQL?

Linda Hamilton
Lepaskan: 2024-12-22 00:54:43
asal
270 orang telah melayarinya

How to Find the Top 5 Best-Selling Items per Store Using SQL?

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;
Salin selepas log masuk

Penjelasan:

  • Subkueri s2 mengira jumlah daripada TotalDollarSales untuk setiap gabungan StoreID dan UPCCode.
  • CTE s mencipta lajur kedudukan, rn, untuk menentukan nombor baris bagi setiap item dalam setiap kedai berdasarkan jumlah jualan dolar.
  • Pertanyaan luar memilih 5 item teratas daripada CTE untuk setiap kedai, dipesan oleh TotalDollarSales dalam menurun pesanan.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan