mysql:只返回4行,具有相同的cat_id

时间:2012-09-05 22:17:44

标签: mysql

我有一张桌子:

items
item_id|cat_id|name
1      |2     |item_1
2      |2     |item_2
3      |1     |item_3
4      |3     |item_4
5      |2     |item_5
6      |3     |item_6

我写了这个查询:

SELECT * FROM items WHERE cat_id IN(2,3);

如何为两个cat_id返回最多/至少 4行(导致最多/至少 8行)?

3 个答案:

答案 0 :(得分:3)

(SELECT * FROM items WHERE cat_id = 2 LIMIT 4)
UNION ALL
(SELECT * FROM items WHERE cat_id = 3 LIMIT 4);

答案 1 :(得分:3)

m4573r已关闭:这是正确的SQL:

(SELECT * FROM items WHERE cat_id = 2 LIMIT 4)
UNION ALL
(SELECT * FROM items WHERE cat_id = 3 LIMIT 4);

没有括号,最后的LIMIT应用于联合,而不是子查询。

答案 2 :(得分:-1)

更容易:

SELECT * FROM items WHERE cat_id = (2,3) LIMIT 4;

完成