2011-10-27 6 views
5

Hola queridos amigos.¿Cómo seleccionar ORDER BY columna y RAND() ambos?

mysql_query("SELECT id FROM tb_table ORDER BY num ASC, ORDER BY RAND() LIMIT 1"); 

es esta codificación correcta? Quiero encontrar todas las filas ASC num y no puede haber 1000 filas que num es 1 otro 1000 que num es 2. Pero quiero que primero ordene ASC como 1s y elija una de ellas al azar.

Respuesta

9

Solo necesita especificar ORDER BY una vez.

mysql_query("SELECT id FROM tb_table ORDER BY num ASC, RAND() LIMIT 1"); 
+1

¿Es eficiente este SQL? ¿O la introducción de RAND() lo hace mucho más lento? – zed

Cuestiones relacionadas