Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mendapatkan Produk Pertama untuk Setiap Kategori Menggunakan MySQL JOIN dan LIMIT 1?

Bagaimana untuk Mendapatkan Produk Pertama untuk Setiap Kategori Menggunakan MySQL JOIN dan LIMIT 1?

Barbara Streisand
Barbara Streisandasal
2024-11-23 10:27:10450semak imbas

How to Retrieve the First Product for Each Category Using MySQL JOIN and LIMIT 1?

MySQL JOIN with LIMIT 1 on Joined Table

Soalan ini berkisar tentang menyertai dua jadual sambil mengehadkan keputusan daripada jadual yang dicantumkan kepada satu rekod untuk setiap perlawanan dalam jadual pertama.

Dalam keadaan ini, pertimbangkan dua jadual: kategori dan produk, di mana setiap produk tergolong dalam kategori. Objektifnya adalah untuk mendapatkan semula setiap kategori bersama-sama dengan produk pertama dalam kategori tersebut.

Untuk mencapai ini, subkueri digunakan untuk mengambil kunci utama produk pertama dalam setiap kategori yang diisih mengikut id. Kunci utama ini kemudiannya digunakan dalam pertanyaan luar untuk mendapatkan semula kategori dan maklumat produk yang sepadan.

Pertanyaan boleh distrukturkan seperti berikut:

SELECT
  c.id,
  c.title,
  p.id AS product_id,
  p.title AS product_title
FROM categories AS c
JOIN products AS p ON
  p.id = (
    SELECT p1.id
    FROM products AS p1
    WHERE c.id = p1.category_id
    ORDER BY p1.id
    LIMIT 1
  )

Pendekatan ini memastikan hanya satu produk rekod diambil setiap kategori, dengan berkesan menangani hasil yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Produk Pertama untuk Setiap Kategori Menggunakan MySQL JOIN dan LIMIT 1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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