Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memilih Item Kepunyaan Pelbagai Kategori dalam MySQL?

Bagaimana untuk Memilih Item Kepunyaan Pelbagai Kategori dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-10-31 22:02:02388semak imbas

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

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

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!

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