Você pode usar ORDER BY RAND() SELECT * FROM table WHERE field1 > 1 AND field1 < 10 ORDER BY RAND() LIMIT 1 Isso retornará 1 linha aleatória com field1 entre 1 e 10