O problema do método random() no GROUP BY é ser um randomico pouco
randomico! Eu cheguei a usar uma vez essa parte de random() e lembro que
tinha que mudar a semente para que o resultado fosse realmente diferente a
cada consulta.

se não me engano vc tem que usar:
SET SEED = X;
sendo X um número entre 0 e 1.

Para sempre colocar um número diferente como semente você pode pegar o tempo
do sistema, mas agora não lembro como faz isso..

Ah, olhando melhor agora achei na documentação:
você pode usar também:

SELECT setseed(*value*);

"Allowed values are floating-point numbers between 0 and 1, which are then
multiplied by 231-1."

http://www.postgresql.org/docs/8.1/interactive/sql-set.html


On Tue, Sep 23, 2008 at 1:04 PM, Roberto Mello <[EMAIL PROTECTED]>wrote:

> 2008/9/23 Daniel M Carneiro <[EMAIL PROTECTED]>:
> > Falou amigão é isso mesmo! Valeu!
> >
> > Montei algo do tipo assim
> >
> > Select codigo,razaosocial from clientes order by random() limit 1;
>
> Voce chegou a ler o link apontado pelo Mateus? Muito interessante, e a
> solucao la' colocada e' mais eficiente e rapida quando o numero de
> colunas for maior que o work_mem. A medio e longo prazo, implementar a
> solucao descrita em http://www.powerpostgresql.com/Random_Aggregate me
> parece melhor.
>
> Roberto
>
> --
> http://blog.divisiblebyfour.org/
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a