あなたはかなり近いです:
(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()
5人の生徒をランダム化します。
注:これは、目的を達成するための最も簡単な方法です。 students
の場合 テーブルは適度に大きく、パフォーマンスが問題です。別の解決策があります。