Вие сте доста близо:
(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();
Подзаявките използват order by rand()
за да получите произволни ученици с всяка оценка. Външният order by rand()
рандомизира петимата ученици.
Забележка:Това е най-лесният начин да постигнете това, което искате. Ако students
таблицата е дори умерено голяма и производителността е проблем, има алтернативни решения.