EMBARALHAR REGISTROS DE UMA TABELA
Olá pessoal, Bom dia!
Bom, desenvolvi uma tela de boas vindas para o meu sistema onde esta mesma irá mostrar dicas de como trabalhar com o sistema, posso, cadastrar quantas quiser. No entanto, gostaria por exemplo, sempre que o usuário abrir não ser mostrado a mesma dica, ou melhor, pegar por exemplo se tenho 30 dicas na tabela, embaralhar para que seja mostrado aleatoriamente e não em sequencia de id, exemplificando melhor faço um select e me retorna o id dos registros (1,2,3,4,5,6,7,8,9,10...30) não queria que os registros fossem mostrados nessa ordem mais sim aleatoriamente tipo, 10,4,16,21,5,22,7... até o 30. Alguém teria algum exemplo?
Bom, desenvolvi uma tela de boas vindas para o meu sistema onde esta mesma irá mostrar dicas de como trabalhar com o sistema, posso, cadastrar quantas quiser. No entanto, gostaria por exemplo, sempre que o usuário abrir não ser mostrado a mesma dica, ou melhor, pegar por exemplo se tenho 30 dicas na tabela, embaralhar para que seja mostrado aleatoriamente e não em sequencia de id, exemplificando melhor faço um select e me retorna o id dos registros (1,2,3,4,5,6,7,8,9,10...30) não queria que os registros fossem mostrados nessa ordem mais sim aleatoriamente tipo, 10,4,16,21,5,22,7... até o 30. Alguém teria algum exemplo?
Estou supondo que esteja utilizando o MS-Access. Sua consulta poderia ser algo assim:
www.techonthenet.com/access/functions/numeric/rnd.php
select * from tabela where id = Int ((30 - 1 + 1) * Rnd + 1)
www.techonthenet.com/access/functions/numeric/rnd.php
Uso o SQL Server
Tente assim então:
select * from tabela where id = CAST(Rand(30) AS INT)
Citação::
Tente assim então:select * from tabela where id = CAST(Rand(30) AS INT)
Não quero pegar somente 1 registro, mais sim o resultado do SELECT e embaralhar
Olha aà pessoal assim é o que eu queria
SELECT * FROM Northwind.Orders ORDER BY NEWID()
-- Abaixo trazemos apenas uma linha:
SELECT TOP 1 * FROM Northwind.Orders ORDER BY NEWID()
SELECT * FROM Northwind.Orders ORDER BY NEWID()
-- Abaixo trazemos apenas uma linha:
SELECT TOP 1 * FROM Northwind.Orders ORDER BY NEWID()
Tente assim então:
SELECT * FROM Northwind.Orders ORDER BY RAND()
Algo assim também funciona:
SELECT Rand(CampoIdTabela + DatePart(ms, getdate())) AS Semente FROM Tabela order by Semente
Tópico encerrado , respostas não são mais permitidas