eu faria assim SELECT * FROM tabela ORDER BY RAND() LIMIT 1  mas segundo o que eu andei pesquisando  " Você não pode usar uma coluna com valores RAND() em uma cláusula ORDER BY, pois ORDER BY avaliaria a coluna múltiplas vezes. Na versão 3.23 você pode fazer: SELECT * FROM nome_tabela ORDER BY RAND()  encontrei em: http://dev.mysql.com/doc/refman/4.1/pt/mat...-functions.html  agora não sei se é certo ou não usar isto.  [editado]