Je to proto, že používáte LIMIT.
Odkaz MySql říká, že pokud chcete použít ORDER BY nebo LIMIT pro jednotlivé výběry, musíte své výběry uzavřít do závorek.
Příklad (z reference MySQL):
Chcete-li použít ORDER BY nebo LIMIT na jednotlivý SELECT, umístěte klauzuli do závorek, které uzavírají SELECT:
(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);
Zdroj naleznete zde:http://dev.mysql.com /doc/refman/5.0/en/union.html
UPRAVIT: Změněn odkaz na odkaz , protože předchozí byl pro verzi 5.5 . Ale odpověď se nezměnila.