Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ฉันจะใช้ฟังก์ชัน RAND () ในส่วนคำสั่ง ORDER BY เพื่อสับเปลี่ยนชุดแถวของ MySQL ได้อย่างไร


เมื่อเราใช้คำสั่งย่อย 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)