Du bist ziemlich nah dran:
(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();
Die Unterabfragen verwenden order by rand()
zufällige Schüler mit jeder Klasse zu bekommen. Die äußere order by rand()
randomisiert die fünf Schüler.
Hinweis:Dies ist der einfachste Weg, um das zu erreichen, was Sie wollen. Wenn die students
Tabelle sogar mäßig groß ist und die Leistung ein Problem darstellt, gibt es alternative Lösungen.