Fórum Como fazer SQL randômico com o Firebird? #259582

23/11/2004

0

Preciso de fazer uma consulta que retorne randomicamente parte dos registros da tabela consultada.

Gostaria de saber se no firebird existe alguma função para isto. O ideal é que eu controle quantos registros serão selecionados randomicamente.
A aplicação está sendo feita em Delphi.

Obrigado pela atenção.


Dalmer

Dalmer

Responder

Posts

23/11/2004

Gandalf.nho

Existe a cláusula FIRST que retorna os primeiros n registros, mas randomicamente acho que não dá. Qual a finalidade disso?


Responder

Gostei + 0

23/11/2004

Dalmer

A consulta que preciso fazer na base de dados é para encontrar perfil de consumidor, mas como a base pode ser muito grande a idéia é trabalhar parecido como o IBOPE nas pesquisas, pegando uma amostragem dos dados, 1/100 ou 1/1000 dos registros contidos na tabela e assim tendo uma resposta bem aproximada da real.


Responder

Gostei + 0

23/11/2004

Rômulo Barros

Utilizando o ClientDataSet, configure a propriedade PacketRecord para 1000. Assim, apenas serão retornados os 1000 primeiros registros da consulta.

;);)


Responder

Gostei + 0

23/11/2004

Gandalf.nho

Uma idéia seria gerar uma procedure em que fosse passado o nº de registros desejados e daí randomicamente geraria números até fechar a quantidade desejada. Cada nº gerado seria usado como critério na SQL de busca dos dados (use a chave primária). Se o registro não existe, gere outro e tente de novo até obter os registros desejados. Pode ser que até existem ferramentas para fazer isso, mas eu desconheço.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar