List:Spanish« Previous MessageNext Message »
From:Thomas Goik - auxion.de Date:July 18 2009 6:43am
Subject:RE: Rand por fecha
View as plain text  
Hola G;

Tu propuesta es la correcta;

CREATE TEMPORARY TABLE tmp_table_name SELECT title, fecha FROM table_name
ORDER BY fecha DESC LIMIT 0,20;
SELECT * FROM tmp_table_name ORDER BY RAND();
DROP TABLE tmp_table_name;

A mi me resulta hacer un WHERE fecha between now() - interval 1 DAY and
NOW()  si tengo tablas muy largas, y quiero los más recientes del mismo día.
Pero mis tablas son algo más grandes, supongo y no creo que te sea necesario


En una table con unos 60.000 entradas todo eso no tarda ni 0.00 sec

CREATE TEMPORARY TABLE tmp_table_name select null, title, time_open from
item order by time_open limit 0,20;
Query OK, 20 rows affected (0.00 sec)


Mit freundlichen Grüssen
Thomas Goik

--
Lofox GmbH
Geschäftsführerin: Evelyn Fuchs
Im Kamperholz 48
44805 Bochum - Germany
Amtsgericht Bochum HRB 7042
USt-IdNr.: DE215698227
St.-Nr. Bochum 306/5885/0172


> -----Mensaje original-----
> De: GN [mailto:gnarvaja@stripped]
> Enviado el: jueves, 16 de julio de 2009 15:54
> Para: mysql-es@stripped
> Asunto: Re: Rand por fecha
> 
> 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=technik@stripped



Thread
Rand por fechaEmiliano Horcada16 Jul
  • Re: Rand por fecha16 minutos16 Jul
    • Re: Rand por fechaEmiliano Horcada16 Jul
      • Re: Rand por fechaGN16 Jul
        • Re: Rand por fechaEmiliano Horcada16 Jul
          • Re: Rand por fechaAnarkae16 Jul
            • Re: Rand por fechaEmiliano Horcada16 Jul
              • RE: Rand por fechaMaria Eugenia Ruiz Estopier16 Jul
        • RE: Rand por fechaThomas Goik - auxion.de18 Jul
    • Re: Rand por fechaMarcos Besteiro López18 Jul
  • Re: Rand por fechaCalabaza16 Jul
    • Re: Rand por fechaAnarkae16 Jul
      • RE: Rand por fechaMaria Eugenia Ruiz Estopier16 Jul
        • Re: Rand por fechaEmiliano Horcada16 Jul
          • Re: Rand por fechaCalabaza16 Jul
            • Re: Rand por fechaEmiliano Horcada17 Jul
              • Re: Rand por fechaCalabaza17 Jul
                • Re: Rand por fechaEmiliano Horcada17 Jul
                • Re: Rand por fechaFernando del Fresno García18 Jul