Mysql
 sql >> Datenbank >  >> RDS >> Mysql

LIMIT dann RAND statt RAND dann LIMIT

Sie können dies mit einer inneren Auswahl tun. Wählen Sie die obersten zwanzig Zeilen in der inneren Auswahl aus. Ordnen Sie diese Zeilen in der äußeren Auswahl zufällig an und wählen Sie die obersten fünf aus:

SELECT *
FROM (
    SELECT *
    FROM table1
    ORDER BY score DESC
    LIMIT 20
) AS T1
ORDER BY RAND()
LIMIT 5