Това е така, защото използвате LIMIT.
Справката в MySql казва, че ако искате да използвате ORDER BY или LIMIT за отделни избрани елементи, тогава трябва да заобиколите избраните си елементи със скоби.
Пример (От справка на MySQL):
За да приложите ORDER BY или LIMIT към отделен SELECT, поставете клаузата в скобите, които затварят 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);
Ресурсът може да бъде намерен тук:http://dev.mysql.com /doc/refman/5.0/en/union.html
РЕДАКТИРАНЕ: Променена референтна връзка, защото предишната беше за версия 5.5. Но отговорът не се промени.