我有一张桌子:
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行)?
答案 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;
完成