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

Mysql Sélectionnez des lignes aléatoires et plus une ligne spécifique

SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5

En supposant que correct est une sorte d'entier. Sinon, vous devrez peut-être modifier DESC vers ASC .

Vous pouvez 'mélanger' les 5 résultats en utilisant un autre ORDER BY RAND() comme ceci :

SELECT * FROM (
    SELECT *
    FROM `choises`
    WHERE questionid = :qid
    ORDER BY correct DESC, RAND()
    LIMIT 5
) as t
ORDER BY RAND()