首頁  >  文章  >  資料庫  >  如何在MySQL中選擇屬於多個類別的項目?

如何在MySQL中選擇屬於多個類別的項目?

Patricia Arquette
Patricia Arquette原創
2024-10-31 22:02:02323瀏覽

How to Select Items Belonging to Multiple Categories in MySQL?

使用MySQL 在資料庫列中選擇多個值來匹配

問題:

您有一個關聯表,其中的項目可以屬於多個類別。如何只選擇屬於一組指定類別的項目?

解決方案:

要選擇滿足列的多個特定值的項目,有MySQL 中的兩種主要方法:

自連接方法:

此方法在一個連接操作中比較同一個表中的多行。例如,要選擇類別201 和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

GROUP BY 方法:

此方法按列對行進行分組並使用COUNT()聚合以驗證某個項目是否屬於所有指定類別。例如,要選擇類別 201 和 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

這兩種方法之間的選擇取決於您要搜尋的類別數量和效能考量。

以上是如何在MySQL中選擇屬於多個類別的項目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn