si se puede meter un limit en la subquery..
podrias hacer esto:
SELECT Titulo, Fecha
FROM tabla
WHERE id IN(select id
from tabla
order by Fecha desc
LIMIT 20)
ORDER BY rand();
la version que tengo yo de mysql, no me deja...
habria que probar..
2009/7/16 Calabaza <calalinux@stripped>:
> El 15 de julio de 2009 20:23, Emiliano
> Horcada<emilianohorcada@stripped> escribió:
>> Tengo en una tabla los campos: Titulo, Fecha. Y necesito obtener los 20
>> registros más nuevos, es decir que ORDER BY Fecha DESC LIMIT 0, 20 Pero,
>> necesito que estos 20 registros se ordenen aleatoreamente. Se entiende?.
>> Existe una forma de hacer eso con la consulta?.
>>
>
> Prueba esto a ver si te sirve:
>
> Select * from
> (
> Select
> rand() as aleatorio,
> a.Titulo,
> a.Fecha
> from
> tuTabla a
> order by a.fecha desc
> limit 20
> ) as g
> order by aleatorio asc;
>
> Un abrazo,
> --
> §~^Calabaza^~§ from Villa Elisa, Paraguay
> http://es.wikipedia.org/wiki/Top-posting
> http://es.wikipedia.org/wiki/Netiquette
>
> --
> Lista de Correos de MySQL
> Para el historial de la lista: http://lists.mysql.com/mysql-es
> Para cancelar inscripción: http://lists.mysql.com/mysql-es?unsub=1
>
>
--