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
