Du är ganska nära:
(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();
Underfrågorna använder order by rand()
att få slumpmässiga elever med varje betyg. Den yttre order by rand()
randomiserar de fem eleverna.
Obs:Detta är det enklaste sättet att åstadkomma det du vill. Om students
bordet är till och med måttligt stort och prestanda är ett problem, det finns alternativa lösningar.