Bạn đang ở khá gần:
(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();
Các truy vấn con sử dụng order by rand()
để lấy ngẫu nhiên học sinh với mỗi lớp. Thứ tự order by rand()
ngẫu nhiên năm sinh viên.
Lưu ý:Đây là cách đơn giản nhất để đạt được điều bạn muốn. Nếu students
bảng thậm chí còn lớn vừa phải và hiệu suất là một vấn đề, có các giải pháp thay thế.