Bagaimana untuk Memilih Item Kepunyaan Pelbagai Kategori dalam MySQL?

Patricia Arquette
Lepaskan: 2024-10-31 22:02:02
asal
322 orang telah melayarinya

How to Select Items Belonging to Multiple Categories in MySQL?

Memilih Padanan Nilai Berbilang dalam Lajur Pangkalan Data Menggunakan MySQL

Masalah:

Anda mempunyai jadual bersekutu di mana item boleh tergolong dalam pelbagai kategori. Bagaimanakah anda boleh memilih item yang tergolong dalam set kategori tertentu sahaja?

Penyelesaian:

Untuk memilih item yang memenuhi berbilang nilai khusus untuk lajur, terdapat dua pendekatan utama dalam MySQL:

Kaedah Join Sendiri:

Kaedah ini membandingkan berbilang baris dari jadual yang sama dalam satu operasi gabungan. Contohnya, untuk memilih item dalam kategori 201 dan 202:

SELECT c1.item_id
FROM item_category AS c1
INNER JOIN item_category AS c2 ON c1.item_id = c2.item_id
WHERE c1.category_id = 201 AND c2.category_id = 202
Salin selepas log masuk

KUMPULAN MENGIKUT Kaedah:

Kaedah ini mengumpulkan baris mengikut lajur dan menggunakan COUNT() agregat untuk mengesahkan sama ada item tergolong dalam semua kategori yang ditentukan. Contohnya, untuk memilih item dalam kategori 201 dan 202:

SELECT c.item_id, COUNT(*) AS cat_count
FROM item_category AS c
WHERE c.category_id IN (201,202)
GROUP BY c.item_id
HAVING cat_count = 2
Salin selepas log masuk

Pilihan antara dua kaedah ini bergantung pada bilangan kategori yang anda cari dan pertimbangan prestasi.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Item Kepunyaan Pelbagai Kategori dalam MySQL?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!