Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pensa

Sobre SQL para registros aleatórios

Recommended Posts

Olá,

 

tenho pesquisado na Internet e aqui no fórum sobre como pegar registros aleatórios em uma tabela do Access e só tenho encontrado lógicas que não se adequam à minha necessidade. O que eu preciso é:

 

Pegar 10 registros de uma tabela de modo aleatório e sem repetições, só que não adianta pegar a quantidade de registros na tabela dar um randon no número e depois fazer uma query para pegar só o registro com o ID do número randomizado pois esse registro pode não existir. Por exemplo:

 

REGISTROS:

ID Nome

1 Fulano1

2 Fulano2

3 Fulano3

4 Fulano4

 

Só que um dia eu excluo da tabela o registro com ID 3 e fica assim:

 

REGISTROS:

ID Nome

1 Fulano1

2 Fulano2

4 Fulano4

 

Se eu usar os códigos que ando vendo por aí que pegam o maior ID (no caso 4) e randomizam esse número, pode acontecer de cair o número 3 e meu código irá dar erro.

 

Alguém pode me ajudar? Fiz um código que funciona pra esse caso no passado mas ele deixa a página muito lenta...

 

Valeus!

Renan http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nuooossa.... achei o código perfeito! Equivale ao newID() do SQL Server:

 

ASP

[*]order by Rnd(Int(Now()*[iD])-Now()*[iD])

 

só que como e não entendi a lógica desse código não sei se pode fahar... alguém entende? Ele pega o inteiro da multiplicação do ID com a data atual e subtrai da multiplicação do ID com a data atual... depois "randomiza" o resultado disso.... que diabos é isso?

 

Bom... por enquanto está funcionando perfeitamente.. se alguém encontrar uma falha, avise!

 

http://forum.imasters.com.br/public/style_emoticons/default/yes.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.