Ok, puedo hacer eso, pero quizás en ese caso me convenga hacerlo desde el
código (PHP) así no ocupo tanta base de datos, que les parece que
consumiría
menos recursos?.
2009/7/16 GN <gnarvaja@stripped>
> Probá usando INSERT ... SELECT ... en una tabla temporaria:
>
> Si tu query original es SELECT col1_fecha, col2 FROM tabla ORDER BY
> col1_fecha DESC LIMIT 20 los pasos son:
>
> 1. Crea una tabla temporaria con columnas: col0, col1_fecha, col2.
> col0 va a tener la salida de RAND()
> 2. Agregás los valores a la tabla temporaria con: INSERT INTO
> tabla_temp (col0, col1_fecha, col2) SELECT rand(), t.col1_fecha,
> t.col2 FROM tabla t ORDER BY t.col1_fecha DESC LIMIT 20
> 3. Tu nuevo query lo hacés sobre la tabla temporaria: SELECT
> col1_fecha, col2 FROM tabla_temp ORDER BY col0
>
> Las tablas temporarias son locales para la conexión y desaparecen
> cuando te desconectás. Para un tabla tan chica, se crea en memoria
> solamente.
>
> Espero que te sirva. Atentamente,
> G
>
> 2009/7/16 Emiliano Horcada <emilianohorcada@stripped>:
> > Si, probé, y no funciona.
> >
> > 2009/7/16 16 minutos <16minutos@stripped>
> >
> >> Hola Emiliano,
> >> probaste
> >> ORDER BY Fecha DESC, rand() LIMIT 0, 20
> >> ?
> >> Un saludo,
> >> alejandro
> >>
> >> 2009/7/15 Emiliano Horcada <emilianohorcada@stripped>
> >>
> >> > 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,
> 20Pero,
> >> > necesito que estos 20 registros se ordenen aleatoreamente. Se
> entiende?.
> >> > Existe una forma de hacer eso con la consulta?.
> >> >
> >>
> >
>
>
>
> --
> Time's fun when one has flies -- A friend of mine
> Lenny Bruce - "Communism is like one big phone company." -
> http://www.brainyquote.com/quotes/authors/l/lenny_bruce.html
>
> --
> 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
>
>