只返回4行我有一個表:MySQL的:與同CAT_ID
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項目WHERE CAT_ID IN(2,3);
我怎樣才能返回至多/至少 4行兩個CAT_ID的(導致至多/至少 8行)?
只返回4行我有一個表:MySQL的:與同CAT_ID
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項目WHERE CAT_ID IN(2,3);
我怎樣才能返回至多/至少 4行兩個CAT_ID的(導致至多/至少 8行)?
m4573r接近:這是正確的SQL:
(SELECT * FROM items WHERE cat_id = 2 LIMIT 4)
UNION ALL
(SELECT * FROM items WHERE cat_id = 3 LIMIT 4);
如果沒有括號,在結束時限制施加到工會,而不是子查詢。
哈哈,我現在覺得很蠢:)我會編輯 – m4573r
(SELECT * FROM items WHERE cat_id = 2 LIMIT 4)
UNION ALL
(SELECT * FROM items WHERE cat_id = 3 LIMIT 4);
你誤會了我。我需要2和3的最大4個結果。這只是返回4結果 – user1163278
我的不好,我會編輯。 – m4573r
謝謝。如果有很多cat_id,這個查詢會慢嗎? – user1163278
更簡單:
SELECT * FROM items WHERE cat_id = (2,3) LIMIT 4;
完成
我剛剛得到了一個錯誤:錯誤代碼:1241.操作數應該包含1列(s ) – user1163278
向我展示更多的代碼,也許你沒有用正確的語法引入SQL。 –
我寫完全和你一樣。 – user1163278
爲什麼「貓」表與這個問題有關?該查詢只使用'items'。 – Barmar
事後看來,我認爲顯示貓表是多餘的。希望它不會混淆。 – user1163278
關於如何解決這個問題的任何想法? Al以前的建議沒有成功.. – user1163278