Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mysql :tri aléatoire puis tri par une colonne spécifique

Vous devriez l'inverser :

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

De cette façon, il trie par taux, puis comme et enfin aléatoire si taux et comme sont égaux.

De plus, votre ORDER BY d'origine avec RAND() ne fonctionne pas car vous utilisez deux clauses ORDER BY.