*FIT* Postado Janeiro 5, 2009 Denunciar Share Postado Janeiro 5, 2009 (editado) Bom galera, Boa Noite! Gostaria de saber se tem algum comando no mysql para fazer um select aleatório, mais ou menos assimSelect * from Tabela Limit 9;só que dentro do comando acima, alguma coisa para os 9 resultados que apareçam sejam aleatórios.Será que o simples motivo de não usar "Order by" já faz com que os valores sejam selecionados aleatoriamente? Editado Janeiro 5, 2009 por *FIT* Link para o comentário Compartilhar em outros sites More sharing options...
0 Bruno Machado Agostinho Postado Janeiro 6, 2009 Denunciar Share Postado Janeiro 6, 2009 Você pode fazer algo do tipo:select * from tabela limit 100,9;ele descarta as 100 primeiras linhas e pega 9 registros.Voce poderia randomizar o primeiro numero multiplicando o numero de linhas da tabela por um rand()depois montar uma Query dinamica e executar.Ficaria +- assim:set @nlinhastabela = (select count(*) form tabela);set @descarta = round(@nlinhastabela-@nlinhasdesejadas * rand());set @query = concat('select * from tabela limit ',@descarta,',',@nlinhasdesejadas);prepare query from @query;execute query; Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Janeiro 6, 2009 Denunciar Share Postado Janeiro 6, 2009 Oi, 'Bruno Machado Agostinho' Boa resposta. mas só dará certo se o engine utilizado for o MyISAM. Do contrário gerará um TABLE SCAN para saber o número total de registros. Link para o comentário Compartilhar em outros sites More sharing options...
0 *FIT* Postado Janeiro 6, 2009 Autor Denunciar Share Postado Janeiro 6, 2009 Oi, 'Bruno Machado Agostinho' Boa resposta. mas só dará certo se o engine utilizado for o MyISAM. Do contrário gerará um TABLE SCAN para saber o número total de registros.realmente não deu certo...=/ Link para o comentário Compartilhar em outros sites More sharing options...
0 Bruno Machado Agostinho Postado Janeiro 6, 2009 Denunciar Share Postado Janeiro 6, 2009 não entendiqual o problema em tabelas q não são myisam ? Link para o comentário Compartilhar em outros sites More sharing options...
0 Mestre SAM Postado Janeiro 7, 2009 Denunciar Share Postado Janeiro 7, 2009 oi fit,o comando rand do mysql não serve?SELECT * FROM Tabela ORDER BY RAND() LIMIT 9eu sempre usei assim pelo menos.sucesso ai. Link para o comentário Compartilhar em outros sites More sharing options...
0 *FIT* Postado Janeiro 7, 2009 Autor Denunciar Share Postado Janeiro 7, 2009 oi fit,o comando rand do mysql não serve?SELECT * FROM Tabela ORDER BY RAND() LIMIT 9eu sempre usei assim pelo menos.sucesso ai. valeu Mestre Sam, exatamente isso...tava apenas querendo saber o nome do comando...valeuuu...!!! Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
*FIT*
Bom galera, Boa Noite!
Gostaria de saber se tem algum comando no mysql para fazer um select aleatório, mais ou menos assim
Select * from Tabela Limit 9;
só que dentro do comando acima, alguma coisa para os 9 resultados que apareçam sejam aleatórios.
Será que o simples motivo de não usar "Order by" já faz com que os valores sejam selecionados aleatoriamente?
Editado por *FIT*Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados