Jste docela blízko:
(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();
Dílčí dotazy používají order by rand()
získat náhodné studenty s každým ročníkem. Vnější order by rand()
náhodně vybere pět studentů.
Poznámka:Toto je nejjednodušší způsob, jak dosáhnout toho, co chcete. Pokud students
tabulka je dokonce středně velká a problémem je výkon, existují alternativní řešení.