[pgsql-ayuda] consulta aleatoria

Ing. Roberto Andrade Fonseca randrade@abl.com.mx
Wed, 29 Nov 2000 23:25:06 -0600 (CST)


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