Ir para conteúdo

POWERED BY:

Arquivado

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

edson_jose

Select x Randomize

Recommended Posts

Olá Pessoal !Uma duvida!Da pra fazer em um Select mostrar 7 registros e randomizar somente os 2 registros mais recentes?(tudo isso no mesmo select)Se puderem me ajudar desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei q banco de dados você usa, mas com sql server você vai conseguir fazer com subquery...

SELECT *FROM(SELECT TOP 7 * FROM tabela)ORDER BY RAND()

Compartilhar este post


Link para o post
Compartilhar em outros sites

exploreestou usando access, autonumeração, os mais recentes poderia ser pelo idArtigo, tentei fazer com dois select porem ele não faz o rand com somente os dois artigos do TOP e sim com todos da tabela(de 2 em 2), o segundo select esta ok, strSQL = "SELECT TOP 2 * FROM Artigos WHERE MostraHome=1 And ((TituloHome Is Not Null) And (TextoHome Is Not Null)) ORDER BY RND(INT(NOW*idArtigo)-NOW*idArtigo) "artigo 1 - ultimo artigo inseridoartigo 2 - penultimo artigo inseridostrSQL = "SELECT TOP 5 * FROM Artigos WHERE MostraHome=1 And ((TituloHome Is Not Null) And (TextoHome Is Not Null)) ORDER BY idArtigo Desc "artigo 3 - 4 - 5 - 6- 7 ( sem randomizar)----------------------------ao ska_skacomo ficaria um seletc com sub query no acess? da pra fazer tudo em um select ou não?Se puderem ajudar desde ja agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

velhinho... pelo q vejo, a única coisa q muda para usar no access, seria alterando o RAND() pela função q você usa para sortear o resultado.... teoricamente, a funcionalidade de subquery é base do SQL ANSI, teoricamente funciona com access, oracle, sql server, mysql (versões 4.1 ou +), postgreesql etc...

 

SELECT *FROM(SELECT TOP 7 * FROM tabela)ORDER BY RND(INT(NOW*idArtigo)-NOW*idArtigo)
;)

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.