[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