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!