Ir para conteúdo

POWERED BY:

Arquivado

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

tygo

registros aleatórios

Recommended Posts

Olá,

uso a seguinte query para selecionar 2 registros aleatórios:

 

 

"select top 2 id, musico, release from musi where ativo=true and imagem_m=true ORDER BY Rnd(Int(Now()*[ID])-Now()*[ID]);"

 

Agora quero evitar que um registro seja lido, ou seja, q um id não esteja no resultado.

Este id a ser evitado nos resultados sempre muda.

 

Simplesmente pensei em adicionar na cláusula where o seguinte: " and id <>" & id_negado

 

mas, acredito, q por causa do order by naum funciona.

 

Se alguém puder me orientar, o informar a query correta fico grato.

valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A princípio funcionaria.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A princípio funcionaria.

entaum... mas naum funciona.e o estranho ( ou naum ) eh o seguinte: se usar, por exemplo: id=100 dah certo - soh mostra o id 100 no resultado.se usar id<>100... não funciona. ele acaba mostrando o id 100

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom.. se sua tabela não for grande.. dá para fazer com subquery...

 

SELECT    top 2 id, musico, release FROM (   SELECT	  id, musico, release   FROM 	  musi    WHERE id <> 100)WHERE   ativo=true and    imagem_m=true ORDER BY Rnd(Int(Now()*[ID])-Now()*[ID]);"

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

se voce estiver usando sqlserver como database, pode utilizar uma função que é nativa do mesmo q eh a NewID()...

 

dae você so troca la no OrderBy e coloca ele...

fika da seguinte forma o codigo:

 

SELECT    top 2 id, musico, release FROM (   SELECT	  id, musico, release   FROM 	  musi    WHERE id <> 100)WHERE   ativo=true and    imagem_m=true ORDER BY NewID();"

tenta ae e posta.. falows...;)

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.