[OFF] Select aleatório em MySQL

760 views
Skip to first unread message

Gustavo Almeida

unread,
Jan 6, 2010, 10:47:01 AM1/6/10
to Lista PHP
Pessoal,
 
Alguém sabe se existe um jeito de eu fazer um select simples, mas em ordem aleatória?
 
Eis o caso:
 
Tenho uma tabela com produtos em destaque separados por data.
Vão ser vários produtos em destaque, e gostaria de mostrar apenas de 3 em 3, por exemplo.
 
Então, eu queria que cada vez que a página fosse carregada, esses produtos mudassem, aleatoriamente...
 
Tem como fazer uma consulta com algo tipo "order by RANDOM" ???

Plinio Pavin

unread,
Jan 6, 2010, 10:54:35 AM1/6/10
to list...@googlegroups.com
Vê se te ajuda:

http://www.pliniopavin.com.br/wp/2007/05/obtendo-registros-aleatorios/

Plinio

2010/1/6 Gustavo Almeida <gus...@gmasoftwares.com.br>:

> --
> ============================================================
> LEIAM SEMPRE AS REGRAS DA LISTA:
> http://groups.google.com.br/group/listaphp/web/regras-da-lista-php
> --
> LISTA PHP > http://groups.google.com.br/group/listaphp
> --
> REVISTA PHP > http://www.revistaphp.com.br
> --
> AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
> --
> PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
> --
> DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
> ============================================================
>

--
Plinio Cesar Pavin
Consultoria em Informática
http://www.pliniopavin.com.br
(19) 9809-5744 Campinas/SP

Michel Wilhelm

unread,
Jan 6, 2010, 10:55:28 AM1/6/10
to list...@googlegroups.com
SELECT nome_tabela ORDER BY RAND() LIMIT 0,3

:)

Gilberto M O Otani

unread,
Jan 6, 2010, 10:56:45 AM1/6/10
to list...@googlegroups.com
Caso seu DB não seja MySQL, tente:
http://www.petefreitag.com/item/466.cfm


2010/1/6 Plinio Pavin <pcp...@gmail.com>:

--
Gilberto M O Otani
gilbert...@gmail.com

emerson design design

unread,
Jan 6, 2010, 10:49:39 AM1/6/10
to list...@googlegroups.com
Select top 3 * from  tabela  ORDER BY NEWID()

2010/1/6 Gustavo Almeida <gus...@gmasoftwares.com.br>

egidiocs

unread,
Jan 6, 2010, 11:15:10 AM1/6/10
to list...@googlegroups.com
A função ORDER BY RAND() não é recomendada, embora faça o trabalho ao custo da performance.
Essa é uma solução:

ou você pode jogar o resultado do select num array e randomizar o array



2010/1/6 Gustavo Almeida <gus...@gmasoftwares.com.br>

Gustavo Almeida

unread,
Jan 6, 2010, 12:23:53 PM1/6/10
to list...@googlegroups.com
Cara! Valeu!
 
Era isso mesmo!
 
Não sabia da existencia desse rand().
 
Valeu mesmo!
Reply all
Reply to author
Forward
0 new messages