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

Requête pour obtenir les 2 et 3 premiers enregistrements d'une table

Vous êtes assez proche :

(select * from student where SECTION = 'A' order by rand() LIMIT 3
) union all
(select * from student where SECTION = 'B' order by rand() LIMIT 2
)
order by rand();

Les sous-requêtes utilisent order by rand() pour obtenir des élèves au hasard avec chaque année. Le order by rand() randomise les cinq étudiants.

Remarque :C'est le moyen le plus simple d'accomplir ce que vous voulez. Si les students table est même modérément grande et que les performances posent problème, il existe des solutions alternatives.