sql >> Base de Datos >  >> RDS >> Mysql

Mysql:ordenar aleatoriamente que ordenar por una columna específica

Deberías darle la vuelta:

SELECT * FROM infos WHERE category=...
ORDER BY rate DESC, like DESC, RAND();

De esa forma, ordena por tasa, luego por me gusta y finalmente por orden aleatorio si la tasa y el me gusta son iguales.

Además, su ORDER BY original con RAND() no funciona porque usa dos cláusulas ORDER BY.