Questo perché stai usando LIMIT.
Il riferimento di MySql dice che se vuoi usare ORDER BY o LIMIT su singole selezioni, devi racchiudere le tue selezioni tra parentesi.
Esempio (da riferimento MySQL):
Per applicare ORDER BY o LIMIT a una singola SELECT, inserisci la clausola tra parentesi che racchiudono la 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);
La risorsa può essere trovata qui:http://dev.mysql.com /doc/refman/5.0/en/union.html
MODIFICA: Collegamento di riferimento modificato perché quello precedente era per la versione 5.5. Ma la risposta non è cambiata.