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

LIMIT luego RAND en lugar de RAND luego LIMIT

Puede hacer esto usando una selección interna. Seleccione las veinte filas superiores en la selección interna. En la selección exterior, ordene estas filas al azar y seleccione las cinco primeras:

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