Como fazer SQL randômico com o Firebird?
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.
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
Curtidas 0
Respostas
Gandalf.nho
23/11/2004
Existe a cláusula FIRST que retorna os primeiros n registros, mas randomicamente acho que não dá. Qual a finalidade disso?
GOSTEI 0
Dalmer
23/11/2004
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.
GOSTEI 0
Rômulo Barros
23/11/2004
Utilizando o ClientDataSet, configure a propriedade PacketRecord para 1000. Assim, apenas serão retornados os 1000 primeiros registros da consulta.
;);)
;);)
GOSTEI 0
Gandalf.nho
23/11/2004
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.
GOSTEI 0