MySQL - rand() no me funciona si utilizo "union distinct"

 
Vista:

rand() no me funciona si utilizo "union distinct"

Publicado por Asparcao (1 intervención) el 22/08/2008 23:40:30
Hola.
La version que tengo de MySQL es la 5.0.45
Quiero hacer una query que me devuelva primero los 2 registros mas antiguos de una tabla, y despues todo el resto, pero que el resto me salga en orden aleatorio.
La query que habia pensado es la siguiente:
(SELECT * FROM TABLA ORDER BY FECHA_CREACION LIMIT 2)
UNION DISTINCT
(SELECT * FROM TABLA ORDER BY RAND() )
El problema es que esta query no hace caso del "order by rand()".
Si ejecuto por separado la primera query, me devuelve correctamente los 2 registros mas antiguos.
Si ejecuto por separado la segunda query, me devuelve correctamente TODOS los registros de la tabla en orden aleatorio.
Si ejecuto la query completa, con las 2 querys a la vez unidas con UNION DISTINCT, me devuelve TODOS los registros ordenados por fecha de creacion, cuando lo que deberia hacer es que a partir del tercer resultado deberian salir ordenados aleatoriamente.
¿Sabe alguien que puedo estar haciendo mal o si hay algun bug de mysql y como podria solucionarlo?
Muchisimas gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder