Volendo si può fare anche con le "variabili SQL", visto che tanto il valore rand_row non gli serve come dato finale ma è solo un dato intermedio di lavoro, giusto?Originariamente inviato da piero.mac
prova l'esempio che trovi sul manuale mysql...
estrai rand_row e lo rilanci nel LIMIT della query successiva.codice:LOCK TABLES foo READ; SELECT FLOOR(RAND() * COUNT(*)) AS rand_row FROM foo; SELECT * FROM foo LIMIT $rand_row, 1; UNLOCK TABLES;