我桌子的结构是
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
的所有行答案 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