No, ya con mysql ya no necesitas mas, de mysql solo selecciona tus 20 registros con un
ORDER BY, en tu codigo de Perl o PHP mete esos 20 valores a un arreglo, y crea por
ejemplo cuatro o mas coordenadas o posiciones dentro de tu codigo y a esas coordenadas en
las cuales vas a hacer el display de los "n" valores es a la que le vas a hacer el rand
pero ya en tu codigo de PHP o Perl.
Saludos.
> From: emilianohorcada@stripped
> Date: Thu, 16 Jul 2009 12:06:34 -0300
> Subject: Re: Rand por fecha
> To: mysql-es@stripped
>
> Tal cual, me parece que esa es la mejor. Entonces, nada en mysql aparte de
> lo que comentaron?.
>
> 2009/7/16 Anarkae <anarkae@stripped>
>
> > Si vas a usar PHP
> > entonces te conviene traerte los ultimos 20 resultados, y despues que
> > PHP lo "ordene" aleatoriamente al array, por ejemplo con la funcion
> > shuffle
> >
> > http://ar.php.net/manual/en/function.shuffle.php
> >
> > 2009/7/16 Emiliano Horcada <emilianohorcada@stripped>:
> > > 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
> > >>
> > >>
> > >
> >
_________________________________________________________________
Si no está en Windows Live, nunca pasó
http://www.actualizatuperfil.com.mx/