เมื่อเราใช้คำสั่งย่อย MySQL ORDER BY กับฟังก์ชัน RAND() ชุดผลลัพธ์จะมีชุดของแถวที่สับเปลี่ยน กล่าวอีกนัยหนึ่ง ชุดผลลัพธ์จะอยู่ในลำดับแบบสุ่ม เพื่อให้เข้าใจว่าตาราง 'พนักงาน' มีบันทึกดังต่อไปนี้ -
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 | +----+--------+--------+ 8 rows in set (0.00 sec)
ตอนนี้ แบบสอบถามด้านล่างจะใช้ ORDER BT 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 | +----+--------+--------+ 8 rows in set (0.00 sec)