的不同總數當我運行此查詢:爲什麼UNION SELECT用括號/括號返回行
SELECT 1, `name` FROM `table1` WHERE `reg` = 3 AND `lang` = 5
UNION
SELECT 2, `name` FROM `table1` WHERE `reg` = 1 AND `lang` = 2
UNION
SELECT 3, `name` FROM `table1` WHERE `reg` = 6 AND `lang` = 10
它返回:Showing rows 0 - 24 (435 total, Query took 0.0110 sec)
我需要與LIMIT 5
運行這些查詢,所以我必須用括號每個select
周圍,在這種情況下,同樣的查詢,但與支架和限制:
(SELECT 1, `name` FROM `table1` WHERE `reg` = 3 AND `lang` = 5 LIMIT 5)
UNION
(SELECT 2, `name` FROM `table1` WHERE `reg` = 1 AND `lang` = 2 LIMIT 5)
UNION
(SELECT 3, `name` FROM `table1` WHERE `reg` = 6 AND `lang` = 10 LIMIT 5)
返回以下:Showing rows 0 - 24 (17098 total, 0 in query, Query took 0.0020 sec)
有什麼我做錯了嗎?
不同的表? – vaultah
你的兩個工會並不相同。第二個在各個選擇中使用「LIMIT」。 'UNION'刪除重複項 - 如果您使用「UNION ALL」,會發生什麼情況 –
不,這是我的類型,我剛編輯過,對此感到抱歉。 – qwaz