Dùng ORDER BY RAND() để trả về tập kết quả theo thứ tự ngẫu nhiên (shuffle).
Dữ liệu gốc (có thứ tự ID 1→8)
mysql> SELECT * FROM employee; +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 1 | Gaurav | 50000 | | 2 | Rahul | 20000 | | 3 | Advik | 25000 | | 4 | Aarav | 65000 | | 5 | Ram | 20000 | | 6 | Mohan | 30000 | | 7 | Aryan | NULL | | 8 | Vinay | NULL | +----+--------+--------+
Sau ORDER BY RAND()
mysql> SELECT * FROM Employee ORDER BY RAND(); +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 4 | Aarav | 65000 | | 1 | Gaurav | 50000 | | 3 | Advik | 25000 | | 7 | Aryan | NULL | | 6 | Mohan | 30000 | | 8 | Vinay | NULL | | 5 | Ram | 20000 | | 2 | Rahul | 20000 | +----+--------+--------+
Lưu ý hiệu năng: ORDER BY RAND() chậm trên bảng lớn (full table scan + filesort). Với bảng lớn, cân nhắc cách khác (ví dụ: WHERE RAND() < 0.01).