Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

LIMIT e depois RAND em vez de RAND e depois LIMIT


Você pode fazer isso usando uma seleção interna. Selecione as vinte primeiras linhas na seleção interna. Na seleção externa, ordene essas linhas aleatoriamente e selecione as cinco principais:
SELECT *
FROM (
    SELECT *
    FROM table1
    ORDER BY score DESC
    LIMIT 20
) AS T1
ORDER BY RAND()
LIMIT 5