[pgsql-ayuda] consulta aleatoria

Marcos marcos@second.ival.es
Thu, 30 Nov 2000 09:10:28 +0000


hola Roberto,

    he probado lo que me has dicho pero esto es lo que aparece:

  select (random()*10) as idnoticia,fecalta,tema from noticias order by idnoticia;
  ERROR:  No such function 'random' with the specified attributes

    bueno te cuento lo que quiero hacer ... o al menos lo que me gustaria...
    en principio seria generar una consulta que me devolviera tan solo 6 registros
aleatorios. bueno esto .. pues podria coger los 6 primeros del resultado de una consulta
aleatoria sobre la bbdd.

un saludo y gracias,

marcos

marcos@ival.es



"Ing. Roberto Andrade Fonseca" wrote:

> Hola:
>
> On Wed, 29 Nov 2000 lrgallardo@abl.com.mx wrote:
>
> > Marcos writes:
> >  > hola,
> >  >
> >  >     tengo cerca de 100 registros en un tabla. me gustaria hacer una
> >  > consulta sobre esa tabla y que muestre 6 (por ejemplo) registros de
> >  > forma aleatoria.
> >  >
> >  > como puedo hacer esto?
>
> Que raro que a Rodrigo no se le ocuriera lo siguiente:
>
> 1. Insrté el nombre de 10 mujeres en orden alfabético, que recupero con:
>
> pruebas=# select * from azar;
> nombre   |   fecha
>  -----------+------------
> Amaranta  | 2000-11-29
> Bertha    | 2000-11-29
> Catalina  | 2000-11-29
> Daniela   | 2000-11-29
> Esperanza | 2000-11-29
> Felicia   | 2000-11-29
> Gloria    | 2000-11-29
> Heidi     | 2000-11-29
> Isela     | 2000-11-29
> Ingrid    | 2000-11-29
> Imelda    | 2000-11-29
> Isadora   | 2000-11-29
> (12 rows)
>
> 2. Las obtengo en desorden asi:
>
> pruebas=# select (random()*10) as desorden, nombre from azar order by desorden;i
>           desorden |  nombre
> -------------------+-----------
>   0.32723461293021 | Imelda
>  0.481714899876022 | Daniela
>     1.174304821144 | Heidi
>   1.61235253401676 | Amaranta
>   3.65782976320844 | Catalina
>   6.99392874119521 | Bertha
>   7.60145856421509 | Gloria
>   7.85956544701921 | Felicia
>   8.65852468584595 | Ingrid
>    8.8045033108464 | Isela
>   9.39636013442481 | Isadora
>   9.60077685751057 | Esperanza
> (12 rows)
>
> 3. O mejor:
>
> pruebas=# select trunc(random()*100) as desorden, nombre from azar order by desorden;
>  desorden |  nombre
> ----------+-----------
>         3 | Isadora
>         8 | Felicia
>        27 | Gloria
>        30 | Esperanza
>        37 | Imelda
>        49 | Amaranta
>        59 | Catalina
>        77 | Isela
>        83 | Bertha
>        85 | Daniela
>        91 | Heidi
>        92 | Ingrid
>
> Pero seguramente habrá mejores opciones para tu problema particular.
>
> Saludos,
>
> Roberto Andrade Fonseca
> randrade@abl.com.mx
>
> --------- Pie de mensaje -------------------------------------------
> Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
> Cancelar inscripcion:
> mail to: majordomo@tlali.iztacala.unam.mx
> text   : unsubscribe pgsql-ayuda

--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : unsubscribe pgsql-ayuda