从一个表中选择两个字段的数据

时间:2015-10-20 03:19:01

标签: mysql

我桌子的结构是

item_id (int)
category_id (int)

以下是一些示例数据:

╔═════════╦═════════════╗
║ item_id ║ category_id ║
╠═════════╬═════════════╣
║    2    ║      4      ║
║    2    ║      5      ║
║    3    ║      5      ║
║    6    ║      9      ║
║    1    ║      2      ║
║    4    ║      5      ║
║    6    ║      3      ║
║    4    ║      4      ║
╚═════════╩═════════════╝

我无法通过第二个字段选择多行选择一行。

例如,我需要选择包含category_id = 4和5

的所有行

1 个答案:

答案 0 :(得分:1)

我想你需要这样的东西:

http://sqlfiddle.com/#!9/019c4/2

SELECT item_id 
FROM items
WHERE category_id IN (4, 5)
GROUP BY item_id 
HAVING COUNT(DISTINCT category_id)=2